久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM32的NVIC理解 [打印本頁]

作者: 51黑黑黑    時間: 2016-2-12 22:25
標題: STM32的NVIC理解
STM32有43個channel的settable的中斷源;AIRC(Application Interrupt andReset Register)寄存器中有用于指定優先級的4bits。這4個bits用于分配preemption優先級和sub優先級,在STM32的固件庫中定義如下<br><br>#define NVIC_PriorityGroup_0 ((u32)0x700)<br>#define NVIC_PriorityGroup_1 ((u32)0x600)<br>#define NVIC_PriorityGroup_2 ((u32)0x500)<br>#define NVIC_PriorityGroup_3 ((u32)0x400)<br>#define NVIC_PriorityGroup_4 ((u32)0x300)<br><br>形象化的理解是:<br><br>你是上帝,<br>造了43個人,這么多人要分社會階級和社會階層了;<br>因為“階級”的詞性比較重;"階層"比較中性,<br>所以preemption優先級-&gt;階級;每個階級內部,有一些階層,sub優先級-&gt;階層;<br><br>如果按照NVIC_PriorityGroup_4這么分,就分為了16個階級(1個階層就是1個preemption優先級),0個階層;高階級的人,可以打斷低階級的正在做事的人(嵌套),最多可以完成1個中斷和15級嵌套。<br>每個階級(每個preemption優先級),你來指定這43人中,誰進入該階級;一個人叫EXTI0_IRQChannel,你指定他進入“階級8”,則<br>NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;<br>NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio<wbr>rity = 8; //指定搶占式優先級別1,可取0-15<br><br>另外,在同一階級內部,一個人在做事的時候,另外一個人不能打斷他;(preemption優先級別相同的中斷源之間沒有嵌套關系)<br>還有,如果他們兩個同時想做事,因為沒有階層,那么就根據Vector table中的物理排序,讓排名靠前的人去做;<br><br>又有1個人SPI1_IRQChannel,設定如下<br>NVIC_InitStructure.NVIC_IRQChannel = SPI1_IRQChannel;<br>NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio<wbr>rity = 0; //指定搶占式優先級別1,可取0-15<br><br>SPI1_IRQChannel的階級高,EXTI0_IRQChannel做事的時候可以打斷(嵌套)。<br><br><br><br>如果按照NVIC_PriorityGroup_3這么分,就分為了8個階級(1個階級是1個preemption優先級),每個階級內有2個階層(sub優先級);高階級的人,可以打斷低階級的正在做事的人(嵌套),最多可以完成1個中斷和7級嵌套。<br><br>每個階級(每個preemption優先級),你來指定這43人中,誰進入該階級;一個人叫EXTI0_IRQChannel,你指定他進入“階級3”,則:<br>NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;<br>NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio<wbr>rity = 3; //指定搶占式優先級別1,可取0-7<br>還需要指定他的階層:<br>NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //指定響應優先級別0,可取0-1<br><br>另有1個人叫EXTI9_5_IRQChannel,他的階級和階層設定如下<br>NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;<br>NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio<wbr>rity = 3; //指定搶占式優先級別0,可取0-7<br>NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //指定響應優先級別1<br><br>那么這兩個人是同一階級的兄弟,一個人在做事的時候,另外一個人不能打斷他;(preemption優先級別相同的中斷源之間沒有嵌套關系)<br>如果他們兩個同時想做事,因為前者的階層高,所以前者優先。<br><br>還有一個人叫USART1_IRQChannel,他的階級和階層設定如下<br>NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;<br>NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio<wbr>rity = 2; //指定搶占式優先級別0,可取0-7<br>NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //指定響應優先級別1<br><br>USART1_IRQChannel的優先級最高,當前面兩個人做事的時候,他都可以打斷(嵌套)。<br><br>以下的類推。

作者: 迷戀520冬天    時間: 2016-2-15 12:26
理解了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲视频在线观看 | 成人av大全 | 91国内视频在线 | 日韩一区二区三区在线 | 国产色片 | 一级日批片 | 成人 在线| 免费观看一级特黄欧美大片 | 日日日干干干 | 日韩日韩日韩日韩日韩日韩日韩 | 天天干天天爱天天 | 天天操网| 自拍偷拍中文字幕 | 亚洲精品一| 欧美视频 亚洲视频 | 欧美一区在线视频 | www.色婷婷| 欧美日韩国产中文 | 国产乱码精品一区二区三区中文 | 在线成人免费观看 | 婷婷精品 | 精品免费观看 | 一区中文 | 日韩一区精品 | 在线日韩中文字幕 | 国产精品久久在线 | 亚洲三区在线观看 | 香蕉视频1024 | 黄色片亚洲 | 成人免费网站视频 | 97精品超碰一区二区三区 | 91精品国产91久久久久福利 | 国产在线精品一区二区三区 | 久久精品国产一区 | 欧美日韩a | 日韩成人免费视频 | 男人天堂av网站 | 午夜精品久久久久99蜜 | 一区二区三区高清 | 国产综合精品一区二区三区 | 成人高清视频在线观看 |