NRF24L01 IRQ引脚测试及相应问题的解决方法

IRQ引脚由Nrf24l01模块控制,并不是由MCU控制的;

具体来说是由NRF内部的这几个寄存器控制的;
中断标志位:(写“1”清除)
RX_DR:接收数据中断。当接收到有效数据后置一。
TX_DS:数据发送完成中断。当数据发送完成后产生中断。如果工作在自动应答模式下,只有当接 收到应答信号后此位置一。
MAX_RT:达到最多次重发中断。
控制中断是否屏蔽(1:屏蔽,0:产生中断)
MASK_RX_DR:可屏蔽接收到数据时产生的中断;
MASK_TX_DS:可屏蔽发送完成时产生的中断;
MASK_MAX_RT:可屏蔽达到最多重发次数时产生的中断;

所有中断产生的基础条件都有两条:对应的中断没有被屏蔽(默认所有中断的初始状态都是被屏蔽的)
对应的中断标志位没有被置位;

NRF收发的条件是相应的缓存区被清空后才可以继续进行收发的;

凡是遇到诸如IRQ引脚一直为低或者IRQ引脚一直为高此类的问题,1)先断电复位,断电复位,断电复位之后进行收发数据时观察IRQ引脚的输出波形情况,如果波形正常,那就检查是否在初始化的时候将FIFO寄存器清空,因为通过按键复位时NRF模块自带的寄存器的值是不会被清空的。如果FIFO没有被清空是无法进行收发操作的,自然IRQ引脚是不会变化的。2)如果仍然没有解决,检查是否开启对应的中断(MASK_RX_DR,MASK_TX_DS,MASK_MAX_RT)3)如果还是没有解决,那很有可能就是你在收发之后没有清FIFO或者没有清除对应的标志位

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值