版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
ARM微控制器與嵌入式系統(tǒng)
NVIC嵌套向量中斷控制器主講人:景妮琴北京電子科技職業(yè)學(xué)院內(nèi)容中斷和異常嵌套向量中斷控制器NVIC優(yōu)先級中斷編程要點中斷和異常中斷:中斷是指來自CPU執(zhí)行指令以外的事件發(fā)生后,處理機暫停正在運行的程序,轉(zhuǎn)去執(zhí)行處理該事件的程序的過程。異常:異常是指源自CPU執(zhí)行指令內(nèi)部的事件發(fā)生后,處理機暫停正在運行的程序,轉(zhuǎn)去執(zhí)行該事件的過程。廣義的中斷包括中斷和異常,統(tǒng)一稱為中斷(異常)如無特殊說明,異常就是中斷,中斷就是異常中斷和異常STMF4系列在內(nèi)核水平上搭載了一個異常響應(yīng)系統(tǒng),支持為數(shù)眾多的系統(tǒng)異常和外部中斷,其中系統(tǒng)異常有10個,外部中斷81個。除了個別的異常優(yōu)先級被定死以外,其他異常都是可編程的當一個異常發(fā)生時,硬件會自動比較該異常的優(yōu)先級是否比當前的異常優(yōu)先級更高。如果發(fā)現(xiàn)來了更高優(yōu)先級的異常,處理器就會中斷當前的中斷服務(wù)例程(或者是普通程序),而服務(wù)新來的異?!戳⒓磽屨肌T趕tm32f4xx.h中可以查詢到IRQn_Type這個結(jié)構(gòu)體中包含了F4系列全部的異常聲明。F4的異常清單中斷和異常中斷與異常的執(zhí)行過程
這個圖重新畫一下向量中斷支持當開始響應(yīng)一個中斷后,CM4會自動定位一張向量表,并且根據(jù)中斷號從表中找出ISR的入口地址,然后跳轉(zhuǎn)過去執(zhí)行。不需要像以前的ARM那樣,由軟件來分辨到底是哪個中斷發(fā)生了,也無需半導(dǎo)體廠商提供私有的中斷控制器來完成這種工作。這么一來,中斷延遲時間大為縮短。嵌套向量中斷控制器NVICNVIC:嵌套向量中斷控制器,屬于內(nèi)核外設(shè),管理著包括內(nèi)核和片上所有外設(shè)的中斷相關(guān)的功能。兩個重要的庫文件:core_cm4.h和misc.ccore_cm4.h定義:在配置中斷時一般只用ISER,ICER,IP這三個寄存器。優(yōu)先級NVIC中有一個NVIC_IPRx用來配置外部中斷的優(yōu)先級IPR的寬度為8位,原則上每個外部中斷可配置的優(yōu)先級為0~255,數(shù)值越小,優(yōu)先級越高。CM4芯片做了精簡設(shè)計,實際上只使用了4位支持優(yōu)先級。bit7bit6bit5bit4bit3bit2bit1bit0用于表達優(yōu)先級未使用,讀回為0優(yōu)先級用于表達優(yōu)先級的這4位,又被分組成搶占優(yōu)先級(主優(yōu)先級)和子優(yōu)先級。如果有多個中斷同時響應(yīng),搶占優(yōu)先級高的就會搶占優(yōu)先級低的優(yōu)先得到執(zhí)行當搶占優(yōu)先級相同時,就比較子優(yōu)先級如果搶占優(yōu)先級和子優(yōu)先級都相同,就比較他們的硬件中斷編號,編號越小,優(yōu)先級越高bit7bit6bit5bit4bit3bit2bit1bit0用于表達優(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)先級>中斷表中的排位順序中斷編程要點使能外設(shè)某個中斷初始化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個中斷向量,具體可參考STM32參考手冊。例如:EXTI線0中斷DMA1流0全局中斷ADC1、ADC2和ADC3全局中斷CAN1TX中斷TIM1捕獲比較中斷USART1全局中斷初始化NVIC結(jié)構(gòu)體-中斷源在STM32F407xx微控制器基本定時器(TIM6、TIM7)中斷向量共2個。分別為: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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)咨詢協(xié)作協(xié)議樣本(2024版)版B版
- 2025年度產(chǎn)業(yè)園入駐企業(yè)市場推廣合作協(xié)議4篇
- 2024年04月遼寧中國建設(shè)銀行大連分行春季校園招考筆試筆試歷年參考題庫附帶答案詳解
- 2024鐵路建設(shè)環(huán)境保護及恢復(fù)合同3篇
- 2025年度市場潛力評估調(diào)研合同3篇
- 2024跨界融合創(chuàng)新科技研發(fā)合作合同
- 2025年度養(yǎng)老公寓租賃服務(wù)合同標準4篇
- 2025年度柴油居間服務(wù)合作協(xié)議4篇
- 二零二四學(xué)校與教師聘用合同(傳統(tǒng)文化教育)3篇
- 2024年03月北京2024年中國農(nóng)業(yè)發(fā)展銀行委托研究課題征集筆試歷年參考題庫附帶答案詳解
- 高二物理競賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語寫作能力的培養(yǎng)策略
- 現(xiàn)場安全文明施工考核評分表
- 亞什蘭版膠衣操作指南
- 四年級上冊數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計報表制度(2020年)
- 人工挖孔樁施工監(jiān)測監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
- 物理人教版(2019)必修第二冊5.2運動的合成與分解(共19張ppt)
評論
0/150
提交評論