資料介紹
一、實(shí)驗(yàn)?zāi)康?/p>
理解中斷的基本概念。
掌握STM32的中斷源及中斷優(yōu)先級。
掌握STM32外部中斷技術(shù)的基本使用方法。
掌握STM32中斷處理程序的編程方法。
硬件設(shè)計原理圖如下圖1所示:LED的連接在上一節(jié)已經(jīng)介紹過了,在STM32開發(fā)板上的按鍵KEY0是接在PE4上,KEY1是接在PE3上的,KEY2是連在PE2上,WK_UP接在PA0上。
實(shí)驗(yàn)預(yù)備知識
中斷對于開發(fā)嵌入式系統(tǒng)來講的地位絕對是毋庸置疑的,在C51單片機(jī)時代,一共只有5個中斷,其中2個外部中斷,2個定時/ 計數(shù)器中斷和一個串口中斷,但是在STM32中,中斷數(shù)量大大增加,而且中斷的設(shè)置也更加復(fù)雜。今天就將來探討一下關(guān)于 STM32中的中斷系統(tǒng)。
ARM Coetex-M3內(nèi)核共支持256個中斷,其中16個內(nèi)部中斷,240個外部中斷和可編程的256級中斷優(yōu)先級的設(shè)置。STM32目前支持的中斷共84個(16個內(nèi)部+68個外部),還有16級可編程的中斷優(yōu)先級的設(shè)置,僅使用中斷優(yōu)先級設(shè)置8bit中的高4 位。
STM32可支持68個中斷通道,已經(jīng)固定分配給相應(yīng)的外部設(shè)備,每個中斷通道都具備自己的中斷優(yōu)先級控制字節(jié)PRI_n(8 位,但是STM32中只使用4位,高4位有效),每4個通道的8位中斷優(yōu)先級控制字構(gòu)成一個32位的優(yōu)先級寄存器。68個通道的優(yōu)先級控制字至少構(gòu)成17個32位的優(yōu)先級寄存器。
STM32的每個IO口都可以作為中斷輸入,這點(diǎn)很好用。要把IO口作為外部中斷輸入,有以下幾個步驟:
1)初始化IO口為輸入。這一步設(shè)置你要作為外部中斷輸入的IO口的狀態(tài),可以設(shè)置為上拉/下拉輸入,也可以設(shè)置為浮空輸入,但浮空的時候外部一定要帶上拉,或者下拉電阻。否則可能導(dǎo)致中斷不停的觸發(fā)。在干擾較大的地方,就算使用了上拉/下拉,也建議使用外部上拉/下拉電阻,這樣可以一定程度防止外部干擾帶來的影響。
2)開啟IO口復(fù)用時鐘,設(shè)置IO口與中斷線的映射關(guān)系。 STM32的IO口與中斷線的對應(yīng)關(guān)系需要配置外部中斷配置寄存器EXTICR,這樣我們要先開啟復(fù)用時鐘,然后配置IO口與中斷線的對應(yīng)關(guān)系。才能把外部中斷與中斷線連接起來。
3)開啟與該IO口相對的線上中斷/事件,設(shè)置觸發(fā)條件。這一步,我們要配置中斷產(chǎn)生的條件,STM32可以配置成上升沿觸發(fā),下降沿觸發(fā),或者任意電平變化觸發(fā),但是不能配置成高電平觸發(fā)和低電平觸發(fā)。這里根據(jù)自己的實(shí)際情況來配置。同時要開啟中斷線上的中斷,這里需要注意的是:如果使用外部中斷,并設(shè)置該中斷的EMR位的話,會引起軟件仿真不能跳到中斷,而硬件上是可以的。而不設(shè)置EMR,軟件仿真就可以進(jìn)入中斷服務(wù)函數(shù),并且硬件上也是可以的。建議不要配置EMR位。
4)配置中斷分組(NVIC),并使能中斷。這一步,我們就是配置中斷的分組,以及使能,對STM32的中斷來說,只有配置了NVIC的設(shè)置,并開啟才能被執(zhí)行,否則是不會執(zhí)行到中斷服務(wù)函數(shù)里面去的。關(guān)于NVIC的詳細(xì)介紹,請參考前面章節(jié)。
5)編寫中斷服務(wù)函數(shù)。這是中斷設(shè)置的最后一步,中斷服務(wù)函數(shù),是必不可少的,如果在代碼里面開啟了中斷,但是沒編寫中斷服務(wù)函數(shù),就可能引起硬件錯誤,從而導(dǎo)致程序崩潰!所以在開啟了某個中斷后,一定要記得為該中斷編寫服務(wù)函數(shù)。在中斷服務(wù)函數(shù)里面編寫你要執(zhí)行的中斷后的操作。通過以上幾個步驟的設(shè)置,我們就可以正常使用外部中斷了。
- Keil 51單片機(jī)IO端口實(shí)驗(yàn)的詳細(xì)資料說明 18次下載
- 使用STM32F103單片機(jī)實(shí)現(xiàn)定時器實(shí)驗(yàn)的詳細(xì)資料說明 5次下載
- 使用STM32F103RB單片機(jī)實(shí)現(xiàn)外部中斷實(shí)驗(yàn)的資料詳細(xì)說明 0次下載
- 使用STM32F103RB單片機(jī)實(shí)現(xiàn)串口實(shí)驗(yàn)的詳細(xì)資料說明 7次下載
- 使用STM32F103RB單片機(jī)實(shí)現(xiàn)蜂鳴器實(shí)驗(yàn)的詳細(xì)資料說明 4次下載
- STM32單片機(jī)的外部中斷實(shí)驗(yàn)詳細(xì)資料說明 1次下載
- 80C51單片機(jī)的中斷系統(tǒng)和系統(tǒng)結(jié)構(gòu)的詳細(xì)資料說明
- 使用51單片機(jī)的計時器和中斷的詳細(xì)資料說明
- 使用51單片機(jī)進(jìn)行中斷和軟件仿真的詳細(xì)資料說明
- 使用51單片機(jī)進(jìn)行中斷設(shè)置的詳細(xì)資料說明
- 51單片機(jī)各中斷初始化及子程序模板的詳細(xì)資料說明
- 51單片機(jī)的中斷系統(tǒng)詳細(xì)資料說明
- 使用單片機(jī)進(jìn)行驅(qū)動蜂鳴器實(shí)驗(yàn)的詳細(xì)資料說明
- 使用STM32單片機(jī)實(shí)現(xiàn)IAP的詳細(xì)資料說明
- 51單片機(jī)的中斷系統(tǒng)詳細(xì)資料總結(jié) 3次下載
- 什么是中斷?單片機(jī)中斷處理過程詳解 5142次閱讀
- 單片機(jī)外部中斷的好處 2338次閱讀
- STM32的IO外部中斷EXTI的使用 2114次閱讀
- PIC系列單片機(jī)的詳細(xì)資料說明 5549次閱讀
- AT89S51單片機(jī)實(shí)驗(yàn)板的詳細(xì)資料簡介 4900次閱讀
- 如何進(jìn)行PLC控制程序的設(shè)計詳細(xì)資料PPT說明 6010次閱讀
- 如何利用51單片機(jī)對protues進(jìn)行仿真擴(kuò)展 3053次閱讀
- 單片機(jī)中的堆棧詳細(xì)資料說明 4838次閱讀
- 51單片機(jī)的外部中斷實(shí)驗(yàn)設(shè)計 1.2w次閱讀
- 如何對51單片機(jī)進(jìn)行外部擴(kuò)展 1.5w次閱讀
- 51單片機(jī)的中斷體系結(jié)構(gòu)_中斷的響應(yīng)過程 2w次閱讀
- 關(guān)于單片機(jī)的中斷系統(tǒng)的詳細(xì)介紹 3.2w次閱讀
- 單片機(jī)中斷系統(tǒng)介紹_51單片機(jī)中斷系統(tǒng)結(jié)構(gòu) 1.2w次閱讀
- 詳細(xì)的STM32單片機(jī)學(xué)習(xí)筆記 1.4w次閱讀
- 51單片機(jī)的擴(kuò)展中斷方法 1241次閱讀
下載排行
本周
- 1錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 2錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 310周年文章合集白皮書
- 15.63 MB | 2次下載 | 免費(fèi)
- 4世界各國&地區(qū)常見電壓/頻率/插頭/插座一覽表
- 2.36 MB | 1次下載 | 免費(fèi)
- 5FS4059B、FS4059C雙節(jié)鋰電池充電應(yīng)用圖
- 0.05 MB | 1次下載 | 免費(fèi)
- 6MX6200語音芯片使用手冊V1.4
- 1.25 MB | 1次下載 | 免費(fèi)
- 7FH155C6A30電子開關(guān)芯片中文手冊
- 0.42 MB | 次下載 | 免費(fèi)
- 8XILINX XCZU67DR FPGA完整原理圖
- 18.22 MB | 次下載 | 8 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 354次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 294次下載 | 5 積分
- 3貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
- 0.50 MB | 93次下載 | 1 積分
- 4長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 5U盤一鍵制作
- 23.84 MB | 41次下載 | 免費(fèi)
- 6錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場效應(yīng)晶體管的數(shù)據(jù)手冊
- 0.11 MB | 28次下載 | 2 積分
- 8長虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論