熟悉无线模块 nrf24L01的朋友进来看看

2020-01-21 21:43发布

最近在做无线语音通信的项目,用到了24L01,24LE1(个人感觉24LE1跟24L01区别不大,核心都是NRF的无线收发,只是24LE1多了一个51内核)
方案是24L01作为中继,24LE1作为对讲机
遇到一个麻烦,中继24L01发送两次,对讲机才接收到一次……
给我的感觉是第一次发送接收都正常,第二次发送没起到作用,第三次却接收到了,第四次又不能接受到,第五次又可以了……就是这样的情况
我分析可能是时序的问题,但是还没发现到底是哪的问题,请教有经验的朋友说说自己是怎么处理的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
斗笠渔翁
2020-01-22 02:31
之前我遇到过哦这情况。
收发各有三个缓存区,及时清除缓冲区。发送前后清除缓冲区。接收有可能没中断触发,用查询寄存器去读取。

我现在遇到别的问题

目前两点之间通信基本算稳定,但是一(仅)发二(仅)收的系统经常发送失败,发送设备在发送过程需要切换地址,两接收设备一直处于接收状态。是什么原因?
目前我分析如下可能:

1、三系统供电都是DCDC 3.3V,无线模块使用开关电源不稳定?

2、发送设备在写入地址的时候不正确写入,导致发送失败?

3、其它原因?

此外还有几点使用疑问:
1、发送的时候CE端一直保持高电平,TX缓冲区只要不为空模块是不是一直处于发送状态,一直发送缓冲区的数据?要是一直发送缓冲区数据,发送不成功产生超时超次数(MAX_RT)中断,我们寄存器写入清除中断标志后模块是否会继续发送数据?还是?

2、模块中的指令“ACTIVATE ”“R_RX_PL_WID”“W_ACK_PAYLOAD”“W_TX_PAYLOAD_NO
ACKa”是什么作用?如何使用?

有经验前辈分析一下注意的使用心得~~~

一周热门 更多>