ARM cortexM4中斷優先級的一點理解。


根據手冊PM0214 40頁、213頁、200、195。interrupt priority grouping.

根據手冊EM0090 第371頁。

stm32f42xxx除掉fpu部分,有91個可屏蔽的中斷通道、只有4位數據用於控制優先級等級。包括異常在內的中斷都被NVIC控制。

NVIC管理了單片機的中斷,分組優先級。(P213).

通過分組后,確定主優先級和子優先級的位數(共4位)。之后賦值主優先級和子優先級,寫入對應的NVIC_IPRX中。參考如下

    NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
其中的NVIC->IP對應了中斷位置,只寫入8位中的高四位,低4位固定為0.
 
只有主優先級確定了異常中斷。(P40)
 
對於普通的中斷,當主優先級(group priority)相同,比較子優先級(subpriority)。如果二者都相同,比較優先級號碼(IRQ number).反正是低的優先級高。


免責聲明!

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



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