久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
STM32的NVIC理解
[打印本頁]
作者:
51黑ren
時(shí)間:
2015-12-27 06:04
標(biāo)題:
STM32的NVIC理解
STM32有43個channel的settable的中斷源;AIRC(ApplicationInterrupt and Reset Register)寄存器中有用于指定優(yōu)先級的4bits。這4個bits用于分配preemption優(yōu)先級和sub優(yōu)先級,在STM32的固件庫中定義如下
#define NVIC_PriorityGroup_0 ((u32)0x700)
#define NVIC_PriorityGroup_1 ((u32)0x600)
#define NVIC_PriorityGroup_2 ((u32)0x500)
#define NVIC_PriorityGroup_3 ((u32)0x400)
#define NVIC_PriorityGroup_4 ((u32)0x300)
形象化的理解是:
你是上帝,
造了43個人,這么多人要分社會階級和社會階層了;
因?yàn)椤半A級”的詞性比較重;"階層"比較中性,
所以preemption優(yōu)先級->階級;每個階級內(nèi)部,有一些階層,sub優(yōu)先級->階層;
如果按照NVIC_PriorityGroup_4這么分,就分為了16個階級(1個階層就是1個preemption優(yōu)先級),0個階層;高階級的人,可以打斷低階級的正在做事的人(嵌套),最多可以完成1個中斷和15級嵌套。
每個階級(每個preemption優(yōu)先級),你來指定這43人中,誰進(jìn)入該階級;一個人叫EXTI0_IRQChannel,你指定他進(jìn)入“階級8”,則
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 8; //指定搶占式優(yōu)先級別1,可取0-15
另外,在同一階級內(nèi)部,一個人在做事的時(shí)候,另外一個人不能打斷他;(preemption優(yōu)先級別相同的中斷源之間沒有嵌套關(guān)系)
還有,如果他們兩個同時(shí)想做事,因?yàn)闆]有階層,那么就根據(jù)Vector table中的物理排序,讓排名靠前的人去做;
又有1個人SPI1_IRQChannel,設(shè)定如下
NVIC_InitStructure.NVIC_IRQChannel = SPI1_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //指定搶占式優(yōu)先級別1,可取0-15
SPI1_IRQChannel的階級高,EXTI0_IRQChannel做事的時(shí)候可以打斷(嵌套)。
如果按照NVIC_PriorityGroup_3這么分,就分為了8個階級(1個階級是1個preemption優(yōu)先級),每個階級內(nèi)有2個階層(sub優(yōu)先級);高階級的人,可以打斷低階級的正在做事的人(嵌套),最多可以完成1個中斷和7級嵌套。
每個階級(每個preemption優(yōu)先級),你來指定這43人中,誰進(jìn)入該階級;一個人叫EXTI0_IRQChannel,你指定他進(jìn)入“階級3”,則:
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; //指定搶占式優(yōu)先級別1,可取0-7
還需要指定他的階層:
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //指定響應(yīng)優(yōu)先級別0,可取0-1
另有1個人叫EXTI9_5_IRQChannel,他的階級和階層設(shè)定如下
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; //指定搶占式優(yōu)先級別0,可取0-7
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //指定響應(yīng)優(yōu)先級別1
那么這兩個人是同一階級的兄弟,一個人在做事的時(shí)候,另外一個人不能打斷他;(preemption優(yōu)先級別相同的中斷源之間沒有嵌套關(guān)系)
如果他們兩個同時(shí)想做事,因?yàn)榍罢叩碾A層高,所以前者優(yōu)先。
還有一個人叫USART1_IRQChannel,他的階級和階層設(shè)定如下
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //指定搶占式優(yōu)先級別0,可取0-7
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //指定響應(yīng)優(yōu)先級別1
USART1_IRQChannel的優(yōu)先級最高,當(dāng)前面兩個人做事的時(shí)候,他都可以打斷(嵌套)。
以下的類推。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久精品一区
|
国产欧美一区二区三区久久人妖
|
精品欧美
|
一区天堂
|
国产成人精品一区二区三
|
欧美性jizz18性欧美
|
日本久久精品视频
|
久草视
|
欧美日韩在线视频一区二区
|
中文日韩在线视频
|
天天噜天天干
|
国产一区二区免费在线
|
国产高清免费视频
|
欧美日韩a
|
欧美综合精品
|
欧美亚洲国产日韩
|
久久99精品久久久久蜜桃tv
|
免费观看一级特黄欧美大片
|
亚洲国产成人精品女人久久久
|
国产欧美日韩在线一区
|
91精品国产综合久久久动漫日韩
|
综合成人在线
|
亚洲成人福利视频
|
免费一级黄色录像
|
91观看
|
欧美专区在线
|
久久国产精品99久久久久久丝袜
|
成人在线中文字幕
|
亚洲欧美日韩在线不卡
|
羞羞视频网站免费观看
|
亚洲欧洲成人av每日更新
|
成人免费淫片aa视频免费
|
欧美一区二区在线观看
|
91黄色免费看
|
欧美一区二区免费电影
|
久久狠狠
|
av在线播放国产
|
夜夜夜操
|
久久久国产亚洲精品
|
特级黄一级播放
|
欧美日韩高清一区二区三区
|