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

2020-01-21 21:43发布

最近在做无线语音通信的项目,用到了24L01,24LE1(个人感觉24LE1跟24L01区别不大,核心都是NRF的无线收发,只是24LE1多了一个51内核)
方案是24L01作为中继,24LE1作为对讲机
遇到一个麻烦,中继24L01发送两次,对讲机才接收到一次……
给我的感觉是第一次发送接收都正常,第二次发送没起到作用,第三次却接收到了,第四次又不能接受到,第五次又可以了……就是这样的情况
我分析可能是时序的问题,但是还没发现到底是哪的问题,请教有经验的朋友说说自己是怎么处理的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
斗笠渔翁
1楼-- · 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”是什么作用?如何使用?

有经验前辈分析一下注意的使用心得~~~
515135896
2楼-- · 2020-01-22 04:42
 精彩回答 2  元偷偷看……
515135896
3楼-- · 2020-01-22 05:03
肯请大侠的帮助啊!!
dreamc
4楼-- · 2020-01-22 09:15
很多人用中断也遇到了这个问题,查询的话确实很少有你出现的这种情况啊。24l01还是有弊端啊。有时IRQ根本不动作 可是数据却发出去啊
fmdz
5楼-- · 2020-01-22 11:21
我用SI24R1也有这种IRQ不触发的问题
dreamc
6楼-- · 2020-01-22 14:38
fmdz 发表于 2012-12-22 14:51
我用SI24R1也有这种IRQ不触发的问题

程序问题的,你CE启动后不能有任何操作,要在那里等待发送完成

一周热门 更多>