版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ARM微控制器與嵌入式系統(tǒng)
NVIC嵌套向量中斷控制器主講人:景妮琴北京電子科技職業(yè)學(xué)院內(nèi)容中斷和異常嵌套向量中斷控制器NVIC優(yōu)先級中斷編程要點(diǎn)中斷和異常中斷:中斷是指來自CPU執(zhí)行指令以外的事件發(fā)生后,處理機(jī)暫停正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行處理該事件的程序的過程。異常:異常是指源自CPU執(zhí)行指令內(nèi)部的事件發(fā)生后,處理機(jī)暫停正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行該事件的過程。廣義的中斷包括中斷和異常,統(tǒng)一稱為中斷(異常)如無特殊說明,異常就是中斷,中斷就是異常中斷和異常STMF4系列在內(nèi)核水平上搭載了一個(gè)異常響應(yīng)系統(tǒng),支持為數(shù)眾多的系統(tǒng)異常和外部中斷,其中系統(tǒng)異常有10個(gè),外部中斷81個(gè)。除了個(gè)別的異常優(yōu)先級被定死以外,其他異常都是可編程的當(dāng)一個(gè)異常發(fā)生時(shí),硬件會(huì)自動(dòng)比較該異常的優(yōu)先級是否比當(dāng)前的異常優(yōu)先級更高。如果發(fā)現(xiàn)來了更高優(yōu)先級的異常,處理器就會(huì)中斷當(dāng)前的中斷服務(wù)例程(或者是普通程序),而服務(wù)新來的異?!戳⒓磽屨?。在stm32f4xx.h中可以查詢到IRQn_Type這個(gè)結(jié)構(gòu)體中包含了F4系列全部的異常聲明。F4的異常清單中斷和異常中斷與異常的執(zhí)行過程
這個(gè)圖重新畫一下向量中斷支持當(dāng)開始響應(yīng)一個(gè)中斷后,CM4會(huì)自動(dòng)定位一張向量表,并且根據(jù)中斷號從表中找出ISR的入口地址,然后跳轉(zhuǎn)過去執(zhí)行。不需要像以前的ARM那樣,由軟件來分辨到底是哪個(gè)中斷發(fā)生了,也無需半導(dǎo)體廠商提供私有的中斷控制器來完成這種工作。這么一來,中斷延遲時(shí)間大為縮短。嵌套向量中斷控制器NVICNVIC:嵌套向量中斷控制器,屬于內(nèi)核外設(shè),管理著包括內(nèi)核和片上所有外設(shè)的中斷相關(guān)的功能。兩個(gè)重要的庫文件:core_cm4.h和misc.ccore_cm4.h定義:在配置中斷時(shí)一般只用ISER,ICER,IP這三個(gè)寄存器。優(yōu)先級NVIC中有一個(gè)NVIC_IPRx用來配置外部中斷的優(yōu)先級IPR的寬度為8位,原則上每個(gè)外部中斷可配置的優(yōu)先級為0~255,數(shù)值越小,優(yōu)先級越高。CM4芯片做了精簡設(shè)計(jì),實(shí)際上只使用了4位支持優(yōu)先級。bit7bit6bit5bit4bit3bit2bit1bit0用于表達(dá)優(yōu)先級未使用,讀回為0優(yōu)先級用于表達(dá)優(yōu)先級的這4位,又被分組成搶占優(yōu)先級(主優(yōu)先級)和子優(yōu)先級。如果有多個(gè)中斷同時(shí)響應(yīng),搶占優(yōu)先級高的就會(huì)搶占優(yōu)先級低的優(yōu)先得到執(zhí)行當(dāng)搶占優(yōu)先級相同時(shí),就比較子優(yōu)先級如果搶占優(yōu)先級和子優(yōu)先級都相同,就比較他們的硬件中斷編號,編號越小,優(yōu)先級越高bit7bit6bit5bit4bit3bit2bit1bit0用于表達(dá)優(yōu)先級未使用,讀回為0F4的異常清單STM32微控制器中斷優(yōu)先級由搶占優(yōu)先級與響應(yīng)優(yōu)先級決定,搶占優(yōu)先級和響應(yīng)優(yōu)先級取值范圍由中斷分組決定。NVIC_PriorityGroupNVIC_IRQChannel搶占優(yōu)先級NVIC_IRQChannel響應(yīng)先級描述NVIC_PriorityGroup_000-15搶占優(yōu)先級0位響應(yīng)先級4位NVIC_PriorityGroup_10-10-7搶占優(yōu)先級1位響應(yīng)先級3位NVIC_PriorityGroup_20-30-3搶占優(yōu)先級2位響應(yīng)先級2位NVIC_PriorityGroup_30-70-1搶占優(yōu)先級3位響應(yīng)先級1位NVIC_PriorityGroup_40-150搶占優(yōu)先級4位響應(yīng)先級0位優(yōu)先級分組中斷向量搶占優(yōu)先級響應(yīng)優(yōu)先級A01搶占優(yōu)先級相同,響應(yīng)優(yōu)先級數(shù)值小的優(yōu)先級高B02A12響應(yīng)優(yōu)先級相同,搶占優(yōu)先級數(shù)值小的優(yōu)先級高B02A10搶占優(yōu)先級比響應(yīng)優(yōu)先級高B02A11搶占優(yōu)先級和響應(yīng)優(yōu)先級均相同,則中斷向量編號小的先執(zhí)行B11搶占優(yōu)先級與響應(yīng)優(yōu)先級示例搶占式優(yōu)先級>響應(yīng)優(yōu)先級>中斷表中的排位順序中斷編程要點(diǎn)使能外設(shè)某個(gè)中斷初始化NVIC結(jié)構(gòu)體typedefstruct{uint8_tNVIC_IRQChannel; //中斷源uint8_tNVIC_IRQChannelPreemptionPriority;//搶占優(yōu)先級uint8_tNVIC_IRQChannelSubPriority; //響應(yīng)優(yōu)先級FunctionalStateNVIC_IRQChannelCmd; //中斷向量使能或失能}NVIC_InitTypeDef;編寫中斷服務(wù)程序初始化NVIC結(jié)構(gòu)體-中斷源NVIC_IRQChannel中斷源取值范圍在STM32F407xx微控制器中共91個(gè)中斷向量,具體可參考STM32參考手冊。例如:EXTI線0中斷DMA1流0全局中斷ADC1、ADC2和ADC3全局中斷CAN1TX中斷TIM1捕獲比較中斷USART1全局中斷初始化NVIC結(jié)構(gòu)體-中斷源在STM32F407xx微控制器基本定時(shí)器(TIM6、TIM7)中斷向量共2個(gè)。分別為:TIM6_DAC_IRQn,TIM7_IRQn(名稱不能更改)NVIC_InitStructure.NVIC_IRQChannel=TIM6_DAC_IRQn;//名稱不能更改。(1)優(yōu)先級分組配置NVIC_PriorityGroupConfig(uint32_tNVIC_PriorityGroup);NVIC_PriorityGroup_0NVIC_PriorityGroup_1NVIC_PriorityGroup_2NVIC_PriorityGroup_3NVIC_PriorityGroup_4//設(shè)置中斷組為0示例4NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
初始化NVIC結(jié)構(gòu)體-優(yōu)先級配置(2)搶占優(yōu)先級和響應(yīng)優(yōu)先級配置//設(shè)置中斷組為0示例4
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//搶占優(yōu)先級,優(yōu)先級0組的搶占優(yōu)先級為0,主要靠子優(yōu)先級NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//響應(yīng)優(yōu)先級NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
初始化NVIC結(jié)構(gòu)體-優(yōu)先級配置(3)NVIC_IRQChannelCmd取值范圍ENABLE
使能DISABLE
失能NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//把設(shè)置寫入NVIC的結(jié)構(gòu)體中NVIC_Init(&NVIC_InitStructure);初始化NVIC結(jié)構(gòu)體-使能NVICNVIC配置示例在stm32f4xx_it.c中完成中斷服務(wù)程序。voidTIM6_DAC_IRQHandler(void)//名稱不能更改{ if(TIM_GetITStatus(TIM6,TIM_IT_Update)!=RESET) { a++; if(a==100) a=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公場地租賃合同標(biāo)準(zhǔn)版3篇
- 2025年度美發(fā)店教育培訓(xùn)股份入股合同
- 課題申報(bào)參考:明代八景圖畫史料的搜集研究
- 課題申報(bào)參考:面向資源受限場景的語音情緒狀態(tài)學(xué)習(xí)研究
- 課題申報(bào)參考:面向復(fù)雜網(wǎng)絡(luò)環(huán)境的AIGC內(nèi)容標(biāo)識(shí)機(jī)制研究
- 2025年度個(gè)人網(wǎng)絡(luò)虛擬商品購買合同示范文本3篇
- 二零二五年度美容美發(fā)行業(yè)美容儀器研發(fā)與銷售合同2篇
- 2025年度個(gè)人私有房屋購買合同(精裝修房屋智能安防系統(tǒng)版)4篇
- 二零二五版美容院養(yǎng)生項(xiàng)目開發(fā)與推廣合同4篇
- 2025年度個(gè)人與公司間商業(yè)借款合同標(biāo)準(zhǔn)版4篇
- 廣東省深圳市2024-2025學(xué)年高一上學(xué)期期末考試英語試題(含答案)
- 醫(yī)藥行業(yè)2025年策略報(bào)告:曙光初現(xiàn)機(jī)遇增加
- 開工第一課安全培訓(xùn)內(nèi)容
- 社會(huì)主義核心價(jià)值觀課件
- 《公路養(yǎng)護(hù)安全培訓(xùn)》課件
- 第七講推動(dòng)構(gòu)建新時(shí)代的大國關(guān)系格局-2024年形勢與政策(課件)
- 2024年高考真題-化學(xué)(天津卷) 含解析
- 醫(yī)院食材采購與配送實(shí)施方案
- 文書模板-護(hù)理規(guī)培生座談會(huì)記錄
- 2025年高考作文備考:議論文寫作的論證手法
- 投餌機(jī)相關(guān)項(xiàng)目實(shí)施方案
評論
0/150
提交評論