版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)原理及應(yīng)用第4章外部中斷1中斷基本概念2STM32外部中斷3EXTI應(yīng)用實(shí)例45課后作業(yè)本章總結(jié)HAL_GPIO_ReadPinHAL_GPIO_TogglePinHAL_GPIO_WritePin中斷概念本節(jié)小結(jié)4.1中斷基本概念中斷概念1.中斷中斷:MCU執(zhí)行主程序時(shí),出現(xiàn)了某些意外或緊急事件,需要MCU緊急處理,此時(shí)主程序被打斷,MCU轉(zhuǎn)而處理緊急事件,處理完畢后再返回繼續(xù)執(zhí)行主程序的過(guò)程。中斷服務(wù)程序通常為一個(gè)函數(shù),該函數(shù)實(shí)現(xiàn)緊急事件處理功能。中斷源16+67斷點(diǎn)程序指針:指向當(dāng)前主程序運(yùn)行指令的下一條指令中斷概念1.中斷中斷中斷處理刻不容緩大局意識(shí)中斷概念2.中斷向量
中斷服務(wù)程序在內(nèi)存中的入口地址稱為中斷向量,把系統(tǒng)中所有中斷向量集中起來(lái)放到存儲(chǔ)器的某一區(qū)域內(nèi),這個(gè)存儲(chǔ)中斷向量的存儲(chǔ)區(qū)域稱為中斷向量表。3.嵌套向量中斷控制器嵌套向量中斷控制器(NVIC,NestedVectoredInterruptController)是STM32中斷系統(tǒng)的核心,其作用是為所有中斷提供優(yōu)先級(jí),實(shí)現(xiàn)中斷嵌套。中斷概念4.中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)表示中斷的重要程度,STM32具有兩類優(yōu)先級(jí),即搶占優(yōu)先級(jí)(preemptionpriority)和響應(yīng)優(yōu)先級(jí)(subpriority),可通過(guò)中斷優(yōu)先級(jí)寄存器(NVIC_IPR)進(jìn)行分組配置。中斷優(yōu)先級(jí)寄存器采用8位表示優(yōu)先級(jí),理論上可以配置256個(gè)中斷優(yōu)先級(jí),實(shí)際上STM32只用了高4位,并可通過(guò)編程將這4位分組為搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)。中斷優(yōu)先級(jí)用數(shù)字表示,數(shù)字越小,優(yōu)先級(jí)越高,中斷分組默認(rèn)配置為第4組。判斷中斷優(yōu)先級(jí)時(shí)先判斷搶占優(yōu)先級(jí),搶占優(yōu)先級(jí)高,則該中斷優(yōu)先級(jí)高。如果搶占優(yōu)先級(jí)相同,則根據(jù)響應(yīng)優(yōu)先級(jí)判斷,如果響應(yīng)優(yōu)先級(jí)也相同,則根據(jù)中斷通道向量地址判斷。中斷概念4.中斷優(yōu)先級(jí)優(yōu)先級(jí)分組搶占優(yōu)先級(jí)響應(yīng)優(yōu)先級(jí)第0組:NVIC_PriorityGroup_0無(wú)4位/16級(jí)(0~15)第1組:NVIC_PriorityGroup_11位/2級(jí)(0~1)3位/8級(jí)(0~7)第2組:NVIC_PriorityGroup_22位/4級(jí)(0~3)2位/4級(jí)(0~3)第3組:NVIC_PriorityGroup_33位/8級(jí)(0~7)1位/2級(jí)(0~1)第4組:NVIC_PriorityGroup_44位/16級(jí)(0~15)無(wú)中斷概念5.中斷執(zhí)行順序
多個(gè)中斷發(fā)生時(shí),MCU根據(jù)中斷優(yōu)先級(jí)確定中斷執(zhí)行順序,中斷執(zhí)行遵循如下規(guī)則:
(1)允許中斷嵌套,即優(yōu)先執(zhí)行搶占優(yōu)先級(jí)高的中斷。如執(zhí)行中斷A時(shí),發(fā)生了搶占優(yōu)先級(jí)更高的中斷B,則暫停中斷A處理過(guò)程轉(zhuǎn)去處理中斷B,處理完中斷B后再繼續(xù)處理中斷A,這個(gè)過(guò)程稱為中斷嵌套。
中斷嵌套只與搶占優(yōu)先級(jí)有關(guān),搶占優(yōu)先級(jí)不同,才能發(fā)生中斷嵌套。
(2)當(dāng)搶占優(yōu)先級(jí)相同時(shí),根據(jù)中斷發(fā)生順序執(zhí)行,哪個(gè)中斷先發(fā)生,則先執(zhí)行哪個(gè)中斷,如果幾個(gè)搶占優(yōu)先級(jí)相同的中斷同時(shí)發(fā)生,則優(yōu)先執(zhí)行響應(yīng)優(yōu)先級(jí)高的中斷。中斷概念5.中斷執(zhí)行順序有三個(gè)中斷A、B、C和D,搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)分別為(3,1)、(2,2)、(1,3)和(2,3),則根據(jù)中斷發(fā)生順序有以下幾種執(zhí)行情況:(1)當(dāng)4個(gè)中斷同時(shí)發(fā)生時(shí),中斷執(zhí)行順序?yàn)镃、B、D、A。(2)執(zhí)行中斷A時(shí),發(fā)生了中斷B,由于中斷B的搶占優(yōu)先級(jí)更高,因此可以打斷中斷A,即發(fā)生中斷嵌套。(3)執(zhí)行中斷B時(shí),發(fā)生了中斷D,由于中斷B和中斷D的響應(yīng)優(yōu)先級(jí)相同,不會(huì)產(chǎn)生嵌套,中斷B執(zhí)行完后,再執(zhí)行中斷D。如果中斷B和中斷D同時(shí)發(fā)生,由于中斷B的響應(yīng)優(yōu)先級(jí)更高,因此先執(zhí)行中斷B。本節(jié)小結(jié)理解中斷概念;掌握中斷優(yōu)先級(jí)分組;理解中斷執(zhí)行順序。EXTI主要特征EXTI內(nèi)部電路4.2STM32外部中斷EXTI應(yīng)用步驟本節(jié)小結(jié)4.2.1EXTI主要特征STM32外部中斷是通常指引腳電平變化引起的中斷,由NVIC和外部中斷事件控制器(EXTI,ExtendedInterruptsandEventsController)控制。EXTI負(fù)責(zé)管理所有的外部中斷和內(nèi)部異步事件,并產(chǎn)生中斷請(qǐng)求。STM32外部中斷的主要特征如下:(1)可產(chǎn)生最多39和事件/中斷請(qǐng)求,包括25個(gè)可配置中斷和14個(gè)直接中斷;(2)每個(gè)事件/中斷具有獨(dú)立的屏蔽控制;(3)可配置中斷包括IO引腳中斷和部分其它外設(shè)中斷,支持上升沿或下降沿觸發(fā),并且具有專用的狀態(tài)位用于指示中斷源。(4)直接中斷主要是部分外設(shè)產(chǎn)生的喚醒事件,用于喚醒設(shè)備,其狀態(tài)標(biāo)志由相應(yīng)外設(shè)提供。(5)所有中斷可通過(guò)軟件進(jìn)行模擬。4.2.2EXTI內(nèi)部電路4.2.2EXTI內(nèi)部電路EXTI之所有能夠?qū)崿F(xiàn)中斷控制,是因?yàn)槠渚哂袊?yán)謹(jǐn)合理的硬件電路,以STM32L4系列為例,其EXTI內(nèi)部電路結(jié)構(gòu)如圖4-2所示,主要由邊沿檢測(cè)電路、下降沿觸發(fā)選擇寄存器、上升沿觸發(fā)選擇寄存器、中斷屏蔽寄存器、掛起請(qǐng)求寄存器等構(gòu)成。下面以GPIO中斷為例講解其工作原理,欲產(chǎn)生GPIO中斷,首先應(yīng)配置下降沿觸發(fā)選擇寄存器或(和)上升沿觸發(fā)選擇寄存器,當(dāng)其相應(yīng)位配置為1時(shí),邊沿檢測(cè)電路即可檢測(cè)到電平變化;然后配置中斷屏蔽寄存器相應(yīng)位為1,當(dāng)邊沿檢測(cè)電路檢測(cè)到電平變化時(shí),即可將掛起請(qǐng)求寄存器相應(yīng)位置1,進(jìn)而引發(fā)中斷,CPU響應(yīng)該中斷后即可執(zhí)行響應(yīng)的中斷服務(wù)程序。綜上所述,中斷提供了一個(gè)完全由硬件自動(dòng)完成的程序執(zhí)行通道,不要軟件的參與,降低了CPU的負(fù)荷,提高了響應(yīng)速度,是利用硬件提升MCU處理事件能力的有效方法。4.2.3EXTI應(yīng)用步驟EXTI是最常用的功能之一,主要用于開(kāi)關(guān)量監(jiān)測(cè),采用STM32CubeIDE進(jìn)行開(kāi)發(fā)時(shí),EXTI的配置主要包括引腳功能選擇、工作模式詳細(xì)配置、NVIC設(shè)置和中斷服務(wù)程序?qū)崿F(xiàn)四大步驟。1.引腳功能選擇以引腳PC0為例,首先選中PC0,然后設(shè)置其為GPIO_EXTI0。2.工作模式詳細(xì)配置4.2.3EXTI應(yīng)用步驟EXTI是最常用的功能之一,主要用于開(kāi)關(guān)量監(jiān)測(cè),采用STM32CubeIDE進(jìn)行開(kāi)發(fā)時(shí),EXTI的配置主要包括引腳功能選擇、工作模式詳細(xì)配置、NVIC設(shè)置和中斷服務(wù)程序?qū)崿F(xiàn)四大步驟。3.NVIC設(shè)置4.中斷服務(wù)程序?qū)崿F(xiàn)voidHAL_GPIO_EXTI_Callback(uint16_tGPIO_Pin){ /*判斷引腳*/ if(GPIO_Pin==User_Label) { /*具體功能實(shí)現(xiàn)*/ }}本節(jié)小結(jié)1.理解EXTI內(nèi)部電路原理;2.掌握EXTI應(yīng)用步驟。按鍵控制LED本節(jié)小結(jié)4.3應(yīng)用實(shí)例按鍵控制LED1.電路原理及需求分析采用按鍵控制LED,按鍵和LED相關(guān)電路原理圖如圖所示,按鍵一段接高電平,另一端經(jīng)限流電阻接GPIO引腳,下方電容和電阻構(gòu)成硬件消抖電路,按鍵松開(kāi)時(shí)讀取引腳為低電平,按鍵按下時(shí)讀取引腳為高電平。按鍵控制LED1.電路原理及需求分析(1)LED1(PA0)用于指示系統(tǒng)工作狀態(tài),上電或復(fù)位后,系統(tǒng)進(jìn)行初始化,初始化完成后,LED1先以0.5s的間隔閃爍3次,然后進(jìn)入正常運(yùn)行狀態(tài),LED1以1s的間隔閃爍。(2)按鍵K1通過(guò)輪詢的方式控制LED2,每按一次K1,LED2狀態(tài)發(fā)生一次改變。(3)按鍵K2通過(guò)外部中斷的方式控制LED2,每按一次K1,LED2狀態(tài)發(fā)生一次改變。按鍵控制LED2.實(shí)現(xiàn)過(guò)程(1)創(chuàng)建工程及最小系統(tǒng)配置。(2)引腳功能配置。(3)編程實(shí)現(xiàn)工程。main.c/*USERCODEBEGIN4*/
/*外部中斷回調(diào)函數(shù)*/voidHAL_GPIO_EXTI_Callback(uint16_tGPIO_Pin){ if(GPIO_Pin==K2_Pin) { HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 從理論到實(shí)踐紀(jì)檢監(jiān)察案例管理面試題庫(kù)
- 會(huì)計(jì)職稱考試備考資料與重點(diǎn)難點(diǎn)解析
- 電氣工程師面試題及答案詳解
- 2025年數(shù)字醫(yī)療設(shè)備市場(chǎng)拓展項(xiàng)目可行性研究報(bào)告
- 2025年城鄉(xiāng)一體化產(chǎn)業(yè)扶貧項(xiàng)目可行性研究報(bào)告
- 2025年健康飲品品牌推廣計(jì)劃可行性研究報(bào)告
- 2025年西南地區(qū)特色農(nóng)產(chǎn)品品牌建設(shè)可行性研究報(bào)告
- 2025年區(qū)塊鏈在金融行業(yè)應(yīng)用可行性研究報(bào)告
- 2026年河南對(duì)外經(jīng)濟(jì)貿(mào)易職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案詳解
- 2026年江西軟件職業(yè)技術(shù)大學(xué)單招職業(yè)技能測(cè)試題庫(kù)及參考答案詳解一套
- 2025年杭州市公安局上城區(qū)分局警務(wù)輔助人員招聘60人備考題庫(kù)及完整答案詳解一套
- 2025國(guó)開(kāi)期末考試《中國(guó)現(xiàn)代文學(xué)專題》機(jī)考試題含答案
- 居民自管小組建設(shè)方案
- 2025年煤礦安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)工作總結(jié)
- 2026年南京交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)帶答案詳解
- 2025年秋期國(guó)家開(kāi)放大學(xué)《理工英語(yǔ)4》期末機(jī)考精準(zhǔn)復(fù)習(xí)題庫(kù)
- 《勸學(xué)》課件+2025-2026學(xué)年統(tǒng)編版高一語(yǔ)文必修上冊(cè)
- 顱內(nèi)感染指南解讀
- 安全教育教案課程全集
- 飼料生產(chǎn)許可證試題
- 規(guī)培醫(yī)院教學(xué)查房規(guī)范教案資料
評(píng)論
0/150
提交評(píng)論