www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]在網(wǎng)上看到了一個人對107中斷向量優(yōu)先級的理解,仔細讀完覺得還可以,特分享,具體內(nèi)容如下:形象化的理解是:你是上帝,造了43個人,這么多人要分社會階級和社會階層了;因為“階級”的詞性比較重;"階層"比較中性,

在網(wǎng)上看到了一個人對107中斷向量優(yōu)先級的理解,仔細讀完覺得還可以,特分享,具體內(nèi)容如下:

形象化的理解是:

你是上帝,
造了43個人,這么多人要分社會階級和社會階層了;
因為“階級”的詞性比較重;"階層"比較中性,
所以preemption優(yōu)先級->階級;每個階級內(nèi)部,有一些階層,sub優(yōu)先級->階層;

如果按照NVIC_PriorityGroup_4這么分,就分為了16個階級(1個階層就是1個preemption優(yōu)先級),0個階層;高階級的人,可以打斷低階級的正在做事的人(嵌套),最多可以完成1個中斷和15級嵌套。
每個階級(每個preemption優(yōu)先級),你來指定這43人中,誰進入該階級;一個人叫EXTI0_IRQChannel,你指定他進入“階級8”,則
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 8; // 指定搶占式優(yōu)先級別1,可取0-15

另外,在同一階級內(nèi)部,一個人在做事的時候,另外一個人不能打斷他;(preemption優(yōu)先級別相同的中斷源之間沒有嵌套關(guā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做事的時候可以打斷(嵌套)。



如果按照NVIC_PriorityGroup_3這么分,就分為了8個階級(1個階級是1個preemption優(yōu)先級),每個階級內(nèi)有2個階層(sub優(yōu)先級);高階級的人,可以打斷低階級的正在做事的人(嵌套),最多可以完成1個中斷和7級嵌套。

每個階級(每個preemption優(yōu)先級),你來指定這43人中,誰進入該階級;一個人叫EXTI0_IRQChannel,你指定他進入“階級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

那么這兩個人是同一階級的兄弟,一個人在做事的時候,另外一個人不能打斷他;(preemption優(yōu)先級別相同的中斷源之間沒有嵌套關(guān)系)
如果他們兩個同時想做事,因為前者的階層高,所以前者優(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)前面兩個人做事的時候,他都可以打斷(嵌套)。

以下的類推。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

關(guān)注星標(biāo)公眾號,不錯過精彩內(nèi)容來源?|痞子衡嵌入式一、Cortex-M中斷向量表對齊原則中斷向量表就是一個集中保存系統(tǒng)全部中斷處理函數(shù)(xxxIRQHandler)地址的常量數(shù)組(函數(shù)地址要占4個字節(jié),因此數(shù)組中每個元素...

關(guān)鍵字: Cortex-M 中斷向量

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是Cortex-M中斷向量表原理及其重定向方法。接著前文《嵌入式Cortex-M裸機環(huán)境下臨界區(qū)保護的三種實現(xiàn)》繼續(xù)聊,嵌入式代碼設(shè)計里有時候一些特殊操作(比...

關(guān)鍵字: Cortex-M 中斷向量

不用配置引腳為輸入模式,TIM_TIxExternalCLK1Source_TI2為PB7引腳void TIM4_Init(void){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructu...

關(guān)鍵字: stm32f107 定時器 配置方法 外部計數(shù)器

開發(fā)板文檔資料里提供了演示程序,當(dāng)然對于PID,VID和字符串描述符不做修改也可以用于我們的程序,但是要想實現(xiàn)我們自己的通信協(xié)議,就必須修改報告描述符,它規(guī)定了通信數(shù)據(jù)包的含義、最大字節(jié)數(shù)等。演示程序中的報

關(guān)鍵字: stm32f107 usb通信

花了兩天的時間,調(diào)試了開發(fā)板的CAN模塊,先是調(diào)試CAN1、CAN2,最后讓CAN1和CAN2通信。期間遇到了很多問題,還有很多問題沒解決。1、使用擴展模式,但是TxMessage.StdId接收到始終是00,其他的Tx...

關(guān)鍵字: can模塊 stm32f107

按IAR的規(guī)矩中斷向量要加2,如PA口的中斷向量為3,那么在IAR程序中應(yīng)寫成#pragma vector=0x05。而PD7和PD其他端口不一樣,PD7后面拖了個小尾巴TLI,TLI擁有芯片最高級別中斷,享有獨立專用的...

關(guān)鍵字: iar stm8 中斷函數(shù) 中斷向量 時間調(diào)度

寫作原由:因為之前有對stm32 優(yōu)先級做過研究,但是沒時間把整理的東西發(fā)表,最近項目需要2個串口,但是不是兩個串口同時使用,只是隨機使用其中一個,程序?qū)?個串口的優(yōu)先級需要配置;此文思路:“中斷優(yōu)先級”思維

關(guān)鍵字: STM32 優(yōu)先級

STM32有43個channel的settable的中斷源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定優(yōu)先級的4 bits。這4個bits用于分配pre...

關(guān)鍵字: STM32 優(yōu)先級 分組方式

紹操作系統(tǒng)內(nèi)核對實時性能的影響,結(jié)合NT技術(shù),分析信號量機制下線程等待隊列的排隊策略,提出一種新排隊策略,并在NT內(nèi)核中實現(xiàn)該策略,最后對比幾種策略的實驗數(shù)據(jù)。

關(guān)鍵字: 優(yōu)先級 技術(shù)教程 系統(tǒng)實時性 信號量策略
關(guān)閉