1.stm32的中斷分組:
每個中斷設定乙個搶占優先順序和乙個響應優先順序值,分組配置是在暫存器scb->aircr中配置。
注意:一般情況下,系統**執行過程中,只設定一次中斷優先順序分組;數值越小所代表的優先順序就越高。
(1)高優先順序的搶占優先順序可以打斷正在進行的低搶占優先順序中斷的。
(2)搶占優先順序相同的中斷,高響應優先順序不可以打斷低響應優先順序的中斷。
(3)搶占優先順序相同的中斷,當兩個中斷同時發生的情況下,哪個響應優先順序高,哪個先執行。
(4)如果兩個中斷的搶占優先順序和響應優先順序都是一樣的話,則看哪個中斷先發生就先執行
中斷優先順序設定步驟:
①系統執行後先設定中斷優先順序分組。呼叫函式:
void nvic_prioritygroupconfig(uint32_t nvic_prioritygroup);
整個系統執行過程中,只設定一次中斷分組。
②針對每個中斷,設定對應的搶占優先順序和響應優先順序:
void nvic_init(nvic_inittypedef* nvic_initstruct);
③ 如果需要掛起/解掛,檢視中斷當前啟用狀態,分別呼叫相關函式即可。
NVIC中斷優先順序管理
1 參考資料 stm32f1開發指南 庫函式版本 4.5 小節 中斷優先順序分組管理 stm32中文參考手冊v10 第9章 中斷和事件 2 nvic中斷優先順序分組 cm3核心支援256個中斷,其中包含了16個核心中斷和240個外部中斷,並且具有256級的可程式設計中斷設定。stm32並沒有使用cm...
NVIC中斷優先順序管理
首先,對 stm32 中斷進行分組,組 0 4。同時,對每個中斷設定乙個搶占優先順序和乙個響應優先順序值。分組配置是在暫存器 scb aircr 中配置 組 aircr 10 8 ip bit 7 4 分配情況 分配結果 0 111 0 4 0位搶占優先順序,4位響應優先順序 1 110 1 3 1...
NVIC中斷優先順序分組
cm7核心支援256個中斷,其中包含了16個核心中斷和240個外部中斷,並且具有256級的可程式設計中斷設定。f7並沒有是由cm4核心的全部東西,而是只用了它的一部分。stm32f76x總共118個中斷,10個核心中斷,108個可遮蔽中斷。stm32具有16級可程式設計的中斷優先順序,而我們常用的就...