stm32 nvic的理解
nvic即是中斷向量的控制!由SCB->AIRCR寄存器控制,SCB->AIRCR中目前只用到4位,也就是最高能有16級(jí)中斷嵌套,如果全使用的話可以達(dá)到256級(jí)
本文引用地址:http://m.butianyuan.cn/article/201611/317624.htm(1);選用優(yōu)先級(jí)分組(實(shí)際就是選幾位用于主優(yōu)先級(jí)幾位用于輔優(yōu)先級(jí))
group0:選0位用于主優(yōu)先級(jí),4位用于輔優(yōu)先級(jí)。
group1:選1位用于主優(yōu)先級(jí),3位用于輔優(yōu)先級(jí)。
group2:選2位用于主優(yōu)先級(jí),2位用于輔優(yōu)先級(jí)。
group3:選3位用于主優(yōu)先級(jí),1位用于輔優(yōu)先級(jí)。
group4:選4位用于主優(yōu)先級(jí),0位用于輔優(yōu)先級(jí)。
(2)這樣打個(gè)比方不恰當(dāng)?shù)谋确桨?,如果把一個(gè)中斷比作一個(gè)人,則他的國籍就是主優(yōu)先級(jí),省籍就是輔優(yōu)先級(jí)。主優(yōu)先級(jí)高的可以
打斷主優(yōu)先級(jí)低的中斷(如主優(yōu)先級(jí)0(我們叫他美國)的中斷高于主優(yōu)先級(jí)2(我們叫他伊拉克)的中斷,則主優(yōu)先級(jí)為0的中斷(美國人)可以
打斷主優(yōu)先級(jí)為2的中斷(伊拉克人))。而對(duì)于輔優(yōu)先級(jí),我們稱之為省籍,比如兩個(gè)人都是中國人(主優(yōu)先級(jí)),一個(gè)是北京的(假設(shè)輔優(yōu)先級(jí)為0
,高),一個(gè)是山西的(省籍為輔優(yōu)先級(jí),假設(shè)為2,低),則北京人不能去打斷山西人做的事,但是,如果有同一個(gè)機(jī)會(huì),則應(yīng)該先給北京人,即
當(dāng)同時(shí)要響應(yīng)兩個(gè)這兩個(gè)主優(yōu)先級(jí)一樣的中斷時(shí),輔助優(yōu)先級(jí)高的先響應(yīng)。如果兩個(gè)中斷的主,輔優(yōu)先級(jí)都一樣時(shí),則在中斷向量表中靠前的
先響應(yīng)。
(3)group4可以最多執(zhí)行15個(gè)嵌套和一個(gè)中斷,group3可以最多執(zhí)行7個(gè)嵌套和一個(gè)中斷,依次類推。
所以,
group4可以指定主優(yōu)先級(jí)的范圍為0——15,輔優(yōu)先級(jí)的范圍為0
group3可以指定主優(yōu)先級(jí)的范圍0———7,輔優(yōu)先級(jí)的范圍為0----1
group2可以指定主優(yōu)先級(jí)的范圍0———3,輔優(yōu)先級(jí)的范圍為0----3
group1可以指定主優(yōu)先級(jí)的范圍0———1,輔優(yōu)先級(jí)的范圍為0----7
group1可以指定主優(yōu)先級(jí)的范圍0,輔優(yōu)先級(jí)的范圍為0----15
所謂嵌套,即是主優(yōu)先級(jí)高的可以打斷主優(yōu)先級(jí)低的中斷的執(zhí)行(嵌套)。
評(píng)論