NRF24L01使用外部中斷讀取數據的問題


NRF24L01讀取數據不能使用中斷的方式,原因如下:

首先NRF24L01中斷觸發時,IRQ引腳會一直保持低電平直到狀態寄存器中的中斷標志被重新清零。

stm32的外部中斷觸發方式只有上升沿或者下降沿觸發,若配置成外部中斷模式,當RX_DR中斷觸發時IRQ引腳會產生一個下降沿,stm32進入中斷函數執行數據讀取函數,讀取完之后清除狀態寄存器標志,IRQ引腳重新變為高電平。但,若在在清除中斷標志之后剛好又來了一幀數據,而此時還沒有出中斷函數,IRQ引腳就會被置為低電平,然后退出中斷函數,但IRQ引腳再也產生不了下降沿信號(因為中斷標志位不會再被清除),也即再也進不了中斷了。

 

總而言之盡量用查詢的方式,不要用中斷就好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM