NRF24L01使用外部中断读取数据的问题

本文解析了NRF24L01模块在STM32平台使用中断方式接收数据时的问题,指出其IRQ引脚特性与STM32外部中断触发机制不匹配,可能导致中断无法正常工作。建议采用查询方式代替中断。

NRF24L01读取数据不能使用中断的方式,原因如下:

首先NRF24L01中断触发时,IRQ引脚会一直保持低电平直到状态寄存器中的中断标志被重新清零。

stm32的外部中断触发方式只有上升沿或者下降沿触发,若配置成外部中断模式,当RX_DR中断触发时IRQ引脚会产生一个下降沿,stm32进入中断函数执行数据读取函数,读取完之后清除状态寄存器标志,IRQ引脚重新变为高电平。但,若在在清除中断标志之后刚好又来了一帧数据,而此时还没有出中断函数,IRQ引脚就会被置为低电平,然后退出中断函数,但IRQ引脚再也产生不了下降沿信号(因为中断标志位不会再被清除),也即再也进不了中断了。

 

总而言之尽量用查询的方式,不要用中断就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值