完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
接收处:使用原子哥的代码
if(mode==0)//RX模式 { RX_Mode(); LCD_ShowString(60,100,"RX-----MODE"); while(1) { if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来. { LCD_ShowString(60,190,tmp_buf); } }; } 使用这个时候能够更新发送端送来的字符数据;但是为什么当我改成 while(1) { RX_Mode(); //进入接收模式 LCD_ShowString(60,100,"RX-----MODE"); if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来. { tmp_buf[32]=0;//加入字符串结束符 LCD_ShowString(60,190,tmp_buf); } } 时候,可以接收到一个数据,但是不能更新新发送过来的数据,这是为什么呢? 我的目的是想接送到发送端送来的数据,进行识别,进而执行符合我的想要程序,但是在原子哥的程序中却不知道该怎么写,从而获取 发送端的数据,找不到原子哥程序中哪里有返回发送端送来的数据!求原子哥指点!!than you |
|
相关推荐
2个回答
|
|
就是接受在tmp_buf里面的。
你代码改过之后,不停的设置RX_Mode和显示RX--MODE,不要这么做! RX_MODE设置一次就够了,不停的设置,很可能导致收不到数据。 |
|
|
|
一早起来又开始调试了,不过这次我修改了数组,发送和接收数据的宽度 其他前后没变,但现在测试成功了;我只是加了一个for循环,接收机的数据就能刷新了 #define TX_PLOAD_WIDTH 1 //20字节的用户数据宽度 #define RX_PLOAD_WIDTH 1 //20字节的用户数据宽度 //----------------------------------------------------------------- while(1) { RX_Mode(); //进入接收模式 LCD_ShowString(60,100,"RX-----MODE"); if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来. { for(i=0;i<1;i++) { //LCD_ShowString(60,190,tmp_buf); number = tmp_buf; LCD_ShowNum(100,140,number,4,16); } switch(number) { case 0: PAout(8)=0Dout(2)=1;break; case 1: Aout(8)=1Dout(2)=0;break; case 2: PAout(8)=0Dout(2)=0;break; case 3: PAout(8)=1Dout(2)=1;break; } } } //----------------------------------------------- 疑惑的是我加了个for循环就可以了,如果不加这个循环就无法更新,求解 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2550 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2335 浏览 5 评论
3166 浏览 3 评论
2807 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2767 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
618浏览 1评论
863浏览 0评论
975浏览 0评论
630浏览 0评论
457浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 01:02 , Processed in 1.016347 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号