STM32
直播中

风尚男人

8年用户 868经验值
私信 关注
[问答]

NRF24L01读取数据不能使用中断的方式是为什么?

NRF24L01读取数据不能使用中断的方式是为什么?

回帖(1)

刘佳

2021-12-20 11:03:35

  

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

更多回帖

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