在mdk內,與nvic相關的暫存器,mdk為其定義了如下的結構體:
15個32位中斷優先順序分組暫存器,每個中斷分配8個bit,對應到415=60個中斷。但是並不是8個bit都被使用了,而是僅僅只用到了高四位,這樣就可以得到5組16級的中斷優先順序。高位的4個bit又分為搶占優先順序和子優先順序,搶占優先順序在前,子優先順序在後。兩種型別優先順序占用的位數又可以通過scb->aircr暫存器的bit[10:8]來配置。
結合例項說明一下:假定設定中斷優先順序組為2,然後設定中斷28(tim2中斷)的搶占優先順序為3,響應優先順序為2。中斷6(外部中斷0)的搶占優先順序為4,響應優先順序為0。中斷7(外部中斷1)的搶占優先順序為3,響應優先順序為0。那麼這3個中斷的優先順序順序為:中斷7>中斷28>中斷6。 上面例子中的中斷28和中斷7都可以打斷中斷6的中斷。而中斷7和中斷28卻不可以相互打斷!
STM32 NVIC基本理解
nvic兩個屬性 搶占屬性 響應屬性 編號越小,優先順序越高 nvic irqchannelsubpriority 引數配置例子 三個中斷向量a b c 中斷向量名稱 搶占優先順序 響應優先順序a0 0b10 c11 此處中斷a可以打斷中斷b,但b不能打斷c。兩個要點 1 若兩個中斷的搶占優先順序和...
對STM32 NVIC的理解
整合了網上幾篇部落格,再加上自己的理解 nvic全稱為 nest vector interrupt controller,人們一般稱之為 巢狀中斷向量控制器 是用來管理中斷巢狀的,核心任務就是在於其優先順序的管理。nvic 給每個中斷賦予先佔優先順序和次佔優先順序。它們的關係描述如下 1 擁有較高先...
stm32 NVIC中段優先順序
nvic stm32f103有60個遮蔽中斷 管理辦法 首先對中斷進行分組0 4,在每個中斷設定乙個搶占優先順序和乙個響應優先順序值。在scb aircr中配置 在一般的情況下是設定的是2組,由兩個搶占優先順序和兩個響應優先順序分配。搶占優先順序和響應優先順序區別 1 搶占優先順序高的可以打斷搶占優...