完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在调试NRF24L01 用的是网上常规的205的demo,又找了野火的demo进行修改,目前通讯都比较正常了,但是有一个问题,必须提前给接收方上电,再给发送方上电,才能够正常通讯,否则发送方就会提示发送失败(达到超时次数)!!!
while(1) { #ifdef Open_TX TX_Mode(TX_BUF); NRF24L01_Send(); //_printf("rnSend data£o0x%xrn",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%2xrn",status); if(status&TX_DS) /*tx_ds == 0x20*/ { //printf("STATUS½óêü×′쬣o0x%2xrn",status); printf("rnSEND OK0x%2x",sss++); } else if(status&MAX_RT) { //Delay(0xffffff); printf("rnSEND ERROR!!!"); //SPI_RW_Reg(WRITE_REG_NRF24L01 + STATUS, 0x10); // Çå3yTX£¬èÃIRQà-μí£» } } |
|
相关推荐
4个回答
|
|
问题找到:1、杜邦线的问题,造成无线模块上电初始化不通过2、程序里面没有模块检测部分,造成有时候无线模块上电没有初始化好就开始发送或者接收
我看了原子哥的程序,进行了修改,现在ok了,还是要谢谢原子哥 |
|
|
|
是不是开启了自动应答?
|
|
|
|
是的,这个自动应答的作用是什么?如果关闭自动应答,是不是我的发送方和接收方都要关闭?
|
|
|
|
我发现不是自动应答的问题,可能是我用杜邦线连接的问题,后来我又进行了测试,有时候接收方后上电,发送方也可以发送成功
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2530 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2317 浏览 5 评论
3121 浏览 3 评论
2785 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2744 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
581浏览 1评论
837浏览 0评论
944浏览 0评论
599浏览 0评论
419浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 23:31 , Processed in 0.939120 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号