日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1、NVIC_InitStructure結(jié)構(gòu)體在misc.h文件中進(jìn)行定義,編程時(shí)可查看。關(guān)于NVIC的函數(shù)都在misc.h文件中進(jìn)行定義。2、中斷服務(wù)函數(shù)入口名稱在startup_stm32f10x_hd.s文件中。3、 中斷結(jié)構(gòu)參數(shù)NVIC_InitStructure.NVIC_

1、NVIC_InitStructure結(jié)構(gòu)體在misc.h文件中進(jìn)行定義,編程時(shí)可查看。關(guān)于NVIC的函數(shù)都在misc.h文件中進(jìn)行定義。

2、中斷服務(wù)函數(shù)入口名稱在startup_stm32f10x_hd.s文件中。

3、 中斷結(jié)構(gòu)參數(shù)NVIC_InitStructure.NVIC_IRQChannel的值在stm32f10x.h文件中查找。

4、中斷服務(wù)函數(shù)名稱必須按照startup_stm32f10x_hd.s文件中中斷向量表的名稱進(jìn)行編寫,中斷服務(wù)函數(shù)可以放在任意一個(gè)文件夾中,與存放位置無關(guān)。

NVIC對(duì)中斷優(yōu)先級(jí)進(jìn)行管理,并且設(shè)置中斷線。

NVIC_IRQChannelPreemptionPriority:先占優(yōu)先級(jí)

NVIC_IRQChannelSubPriority:從優(yōu)先級(jí)

高先占優(yōu)先級(jí)中斷可以打斷低先占優(yōu)先級(jí)的中斷,即可中斷嵌套。

先占優(yōu)先級(jí)號(hào)碼越小優(yōu)先級(jí)越高,當(dāng)先占優(yōu)先級(jí)號(hào)碼相同時(shí),從優(yōu)先級(jí)號(hào)碼起作用。

同先占優(yōu)先級(jí)下的中斷是不能進(jìn)行嵌套的,只能根據(jù)從優(yōu)先級(jí)的號(hào)碼進(jìn)行排隊(duì),從優(yōu)先級(jí)號(hào)碼即為排隊(duì)號(hào)碼,號(hào)碼越低越靠前。

如買火車票一樣,系統(tǒng)中設(shè)置學(xué)生、軍人的優(yōu)先級(jí)(先優(yōu)先級(jí))高于普通群眾,學(xué)生、軍人可以搶占系統(tǒng)通道,得到優(yōu)先買票的權(quán)力,但學(xué)生、軍人之間是不能進(jìn)行搶占的,只能根據(jù)排隊(duì)(從優(yōu)先級(jí))來決定誰可以先買到票。

先用函數(shù)NVIC_PriorityGroupConfig(NVIC_PriorityGroup_x)決定有幾個(gè)先占優(yōu)先級(jí)和從優(yōu)先級(jí)。NVIC_PriorityGroup_x可取如下值。

NVIC_PriorityGroup_0 => 選擇第0組

NVIC_PriorityGroup_1 => 選擇第1組

NVIC_PriorityGroup_2 => 選擇第2組

NVIC_PriorityGroup_3 => 選擇第3組

NVIC_PriorityGroup_4 => 選擇第4組

舉例:

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel= EXTI0_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//指定搶占式優(yōu)先級(jí)別0,可取0-1

NVIC_InitStructure.NVIC_IRQChannelCmd= ENABLE;//使能中斷

NVIC_Init(&NVIC_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel= SPI1_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;//指定搶占式優(yōu)先級(jí)別1,可取0-1

NVIC_InitStructure.NVIC_IRQChannelSubPriority= 0; // 指定從優(yōu)先級(jí)別0,可取0-7NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel =USART1_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority= 1; // 指定從優(yōu)先級(jí)別1,可取0-7NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

EXTI0_IRQChannel先占優(yōu)先級(jí)比SPI1_IRQChannel、USART1_IRQChannel高,所以EXTI0_IRQChannel中斷可以打斷正在執(zhí)行的 SPI1_IRQChannel/USART1_IRQChannel中斷,實(shí)現(xiàn)中斷嵌套。

SPI1_IRQChannel、USART1_IRQChannel先占優(yōu)先級(jí)相等,不能相互打斷,即在執(zhí)行SPI1_IRQChannel/USART1_IRQChannel中斷時(shí)USART1_IRQChannel/SPI1_IRQChannel中斷無法打斷。同時(shí)產(chǎn)生SPI1_IRQChannel、USART1_IRQChannel中斷時(shí),要根據(jù)從優(yōu)先級(jí)進(jìn)行排隊(duì),SPI1_IRQChannel從優(yōu)先級(jí)比較高,所以先執(zhí)行SPI1_IRQChannel中斷。


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