天线|RF射频
直播中

李宁

7年用户 192经验值
私信 关注
[问答]

NRF24L01单方向发送,接收和发送要同步吗?

先说明一下情况:(单方向发送,有自动应答,自动重发)情况1:接收端在while(1)里面一直判断接收,然后显示接收的数组到LCD屏。。。发送端在while(1)里面一直发送数据(数据在变),这个时候可以通讯成功,也可以很好的显示:。情况2:但是我的想法是,发送端每隔50ms发送一次,所以就在发送端发送完一次数据之后延时50ms,这个时候LCD屏就会显示不正常了,所有数值都变成一样的,而且还在不停的闪烁,像是接收到正确数据然后被覆盖了,由于错误的数据持续时间太长,正确的数据时间太短,所以数据显示时会一直闪烁。想了很久还是想不清楚这个问题。
情况3:出现这个问题之后,我就在接收端接收了一次数据显示完之后,也加了50ms的延时,然后就成功了。
总的来说有这么几个问题:
1、单方向的发送也需要接收和发送同步吗?就是发送和接收的时间差不能相差太久。
2、按理说发送端第一次发送成功,接收端接收成功,然后接收端就会显示第一次发送的内容,等第二次发送过来,就可以再一次接收了。就算通信失败了,也就是什么都不显示呀,,,怎么也想不出为什么会出现情况2这种情况。

回帖(3)

李丹丹

2020-6-15 14:30:59
终于找出问题所在了,一直以为底层驱动没有问题,现在才发现,接收端的驱动之前被我改过,导致接收完成的标志位没有被清除,所以接收端就会判断一直处于在接收的状态,然而显示接收缓存中的随机值。
举报

武婧

2020-6-15 14:44:03
底层驱动用的是原子mini版的NRF例程
举报

毛春华

2020-6-15 14:51:49
我在想有没有可能是因为公频干扰的问题,刚才我用串口测试了一下两边的数据,发送的数据一直是没有问题的,在接受端用串口打印出来,在两次接收正确数据的中间,有5次错误的数据。求大佬指教指教,小弟我真的快要调崩溃了!!!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分