OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3417|回复: 4

NRF24L01 接收方不提前打开,发送方就一直提示发送失败的问题

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-10-8
在线时间
17 小时
发表于 2016-10-8 17:24:13 | 显示全部楼层 |阅读模式
1金钱
最近在调试NRF24L01 用的是网上常规的205的demo,又找了野火的demo进行修改,目前通讯都比较正常了,但是有一个问题,必须提前给接收方上电,再给发送方上电,才能够正常通讯,否则发送方就会提示发送失败(达到超时次数)!!!
while(1)
        {
                #ifdef Open_TX       
                        TX_Mode(TX_BUF);
                        NRF24L01_Send();
                        //_printf("\r\nSend data£o0x%x\r\n",TX_BUF[0]);
                        Delay(0xffff);
                #else
                        RX_Mode();
                        NRF24L01_Receive();
                        Delay(0x3fff);
                #endif
        }


void NRF24L01_Send(void)
{
    u8 status=0x00;
        static u8 sss;
        //delay1us(10);
        CE(0);
        SPI_Write_Buf(WR_TX_PLOAD, TX_BUF, TX_PLOAD_WIDTH);
        CE(1);
        while(IRQ);
       
        delay1us(10);
        status=SPI_Read_Reg(STATUS);        // ¶áè¡×′쬼Ä′æÆäà′ÅD¶Ïêy¾Y½óêÕ×′¿ö
        SPI_RW_Reg(WRITE_REG_NRF24L01 + STATUS, status);      // Çå3yTX£¬èÃIRQà-μí£»
        SPI_RW_Reg(FLUSH_TX,NOP);
        //printf("STATUS½óêü×′쬣o0x%2x\r\n",status);
        if(status&TX_DS)        /*tx_ds == 0x20*/
        {
                //printf("STATUS½óêü×′쬣o0x%2x\r\n",status);
                printf("\r\nSEND OK0x%2x",sss++);                       
        }
        else if(status&MAX_RT)
        {
                //Delay(0xffffff);
                printf("\r\nSEND ERROR!!!");       
                //SPI_RW_Reg(WRITE_REG_NRF24L01 + STATUS, 0x10);      // Çå3yTX£¬èÃIRQà-μí£»                       
        }
}

最佳答案

查看完整内容[请看2#楼]

问题找到:1、杜邦线的问题,造成无线模块上电初始化不通过2、程序里面没有模块检测部分,造成有时候无线模块上电没有初始化好就开始发送或者接收 我看了原子哥的程序,进行了修改,现在ok了,还是要谢谢原子哥
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-10-8
在线时间
17 小时
 楼主| 发表于 2016-10-8 17:24:14 | 显示全部楼层
问题找到:1、杜邦线的问题,造成无线模块上电初始化不通过2、程序里面没有模块检测部分,造成有时候无线模块上电没有初始化好就开始发送或者接收
我看了原子哥的程序,进行了修改,现在ok了,还是要谢谢原子哥
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-10-8 18:25:00 | 显示全部楼层
是不是开启了自动应答?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-10-8
在线时间
17 小时
 楼主| 发表于 2016-10-9 08:51:49 | 显示全部楼层
正点原子 发表于 2016-10-8 18:25
是不是开启了自动应答?

是的,这个自动应答的作用是什么?如果关闭自动应答,是不是我的发送方和接收方都要关闭?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-10-8
在线时间
17 小时
 楼主| 发表于 2016-10-9 10:13:13 | 显示全部楼层
正点原子 发表于 2016-10-8 18:25
是不是开启了自动应答?

我发现不是自动应答的问题,可能是我用杜邦线连接的问题,后来我又进行了测试,有时候接收方后上电,发送方也可以发送成功
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 08:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表