資料介紹
一、實(shí)驗(yàn)?zāi)康?/p>
理解中斷的基本概念。
掌握STM32的中斷源及中斷優(yōu)先級(jí)。
掌握STM32外部中斷技術(shù)的基本使用方法。
掌握STM32中斷處理程序的編程方法。
硬件設(shè)計(jì)原理圖如下圖1所示:LED的連接在上一節(jié)已經(jīng)介紹過了,在STM32開發(fā)板上的按鍵KEY0是接在PE4上,KEY1是接在PE3上的,KEY2是連在PE2上,WK_UP接在PA0上。
實(shí)驗(yàn)預(yù)備知識(shí)
中斷對于開發(fā)嵌入式系統(tǒng)來講的地位絕對是毋庸置疑的,在C51單片機(jī)時(shí)代,一共只有5個(gè)中斷,其中2個(gè)外部中斷,2個(gè)定時(shí)/ 計(jì)數(shù)器中斷和一個(gè)串口中斷,但是在STM32中,中斷數(shù)量大大增加,而且中斷的設(shè)置也更加復(fù)雜。今天就將來探討一下關(guān)于 STM32中的中斷系統(tǒng)。
ARM Coetex-M3內(nèi)核共支持256個(gè)中斷,其中16個(gè)內(nèi)部中斷,240個(gè)外部中斷和可編程的256級(jí)中斷優(yōu)先級(jí)的設(shè)置。STM32目前支持的中斷共84個(gè)(16個(gè)內(nèi)部+68個(gè)外部),還有16級(jí)可編程的中斷優(yōu)先級(jí)的設(shè)置,僅使用中斷優(yōu)先級(jí)設(shè)置8bit中的高4 位。
STM32可支持68個(gè)中斷通道,已經(jīng)固定分配給相應(yīng)的外部設(shè)備,每個(gè)中斷通道都具備自己的中斷優(yōu)先級(jí)控制字節(jié)PRI_n(8 位,但是STM32中只使用4位,高4位有效),每4個(gè)通道的8位中斷優(yōu)先級(jí)控制字構(gòu)成一個(gè)32位的優(yōu)先級(jí)寄存器。68個(gè)通道的優(yōu)先級(jí)控制字至少構(gòu)成17個(gè)32位的優(yōu)先級(jí)寄存器。
STM32的每個(gè)IO口都可以作為中斷輸入,這點(diǎn)很好用。要把IO口作為外部中斷輸入,有以下幾個(gè)步驟:
1)初始化IO口為輸入。這一步設(shè)置你要作為外部中斷輸入的IO口的狀態(tài),可以設(shè)置為上拉/下拉輸入,也可以設(shè)置為浮空輸入,但浮空的時(shí)候外部一定要帶上拉,或者下拉電阻。否則可能導(dǎo)致中斷不停的觸發(fā)。在干擾較大的地方,就算使用了上拉/下拉,也建議使用外部上拉/下拉電阻,這樣可以一定程度防止外部干擾帶來的影響。
2)開啟IO口復(fù)用時(shí)鐘,設(shè)置IO口與中斷線的映射關(guān)系。 STM32的IO口與中斷線的對應(yīng)關(guān)系需要配置外部中斷配置寄存器EXTICR,這樣我們要先開啟復(fù)用時(shí)鐘,然后配置IO口與中斷線的對應(yīng)關(guān)系。才能把外部中斷與中斷線連接起來。
3)開啟與該IO口相對的線上中斷/事件,設(shè)置觸發(fā)條件。這一步,我們要配置中斷產(chǎn)生的條件,STM32可以配置成上升沿觸發(fā),下降沿觸發(fā),或者任意電平變化觸發(fā),但是不能配置成高電平觸發(fā)和低電平觸發(fā)。這里根據(jù)自己的實(shí)際情況來配置。同時(shí)要開啟中斷線上的中斷,這里需要注意的是:如果使用外部中斷,并設(shè)置該中斷的EMR位的話,會(huì)引起軟件仿真不能跳到中斷,而硬件上是可以的。而不設(shè)置EMR,軟件仿真就可以進(jìn)入中斷服務(wù)函數(shù),并且硬件上也是可以的。建議不要配置EMR位。
4)配置中斷分組(NVIC),并使能中斷。這一步,我們就是配置中斷的分組,以及使能,對STM32的中斷來說,只有配置了NVIC的設(shè)置,并開啟才能被執(zhí)行,否則是不會(huì)執(zhí)行到中斷服務(wù)函數(shù)里面去的。關(guān)于NVIC的詳細(xì)介紹,請參考前面章節(jié)。
5)編寫中斷服務(wù)函數(shù)。這是中斷設(shè)置的最后一步,中斷服務(wù)函數(shù),是必不可少的,如果在代碼里面開啟了中斷,但是沒編寫中斷服務(wù)函數(shù),就可能引起硬件錯(cuò)誤,從而導(dǎo)致程序崩潰!所以在開啟了某個(gè)中斷后,一定要記得為該中斷編寫服務(wù)函數(shù)。在中斷服務(wù)函數(shù)里面編寫你要執(zhí)行的中斷后的操作。通過以上幾個(gè)步驟的設(shè)置,我們就可以正常使用外部中斷了。
- Keil 51單片機(jī)IO端口實(shí)驗(yàn)的詳細(xì)資料說明 17次下載
- 使用STM32F103單片機(jī)實(shí)現(xiàn)定時(shí)器實(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ī)的計(jì)時(shí)器和中斷的詳細(xì)資料說明
- 使用51單片機(jī)進(jìn)行中斷和軟件仿真的詳細(xì)資料說明
- 使用51單片機(jī)進(jìn)行中斷設(shè)置的詳細(xì)資料說明
- 51單片機(jī)的中斷系統(tǒng)詳細(xì)資料說明
- 使用單片機(jī)進(jìn)行驅(qū)動(dòng)蜂鳴器實(shí)驗(yàn)的詳細(xì)資料說明
- 使用STM32單片機(jī)實(shí)現(xiàn)IAP的詳細(xì)資料說明
- 基于STM32單片機(jī)進(jìn)行PWM輸出實(shí)驗(yàn)的詳細(xì)資料說明 18次下載
- 51單片機(jī)的中斷系統(tǒng)詳細(xì)資料總結(jié) 3次下載
- 什么是中斷?單片機(jī)中斷處理過程詳解 4342次閱讀
- 單片機(jī)外部中斷的好處 1919次閱讀
- STM32的IO外部中斷EXTI的使用 1658次閱讀
- PIC系列單片機(jī)的詳細(xì)資料說明 5350次閱讀
- AT89S51單片機(jī)實(shí)驗(yàn)板的詳細(xì)資料簡介 4614次閱讀
- 如何進(jìn)行PLC控制程序的設(shè)計(jì)詳細(xì)資料PPT說明 5753次閱讀
- 如何利用51單片機(jī)對protues進(jìn)行仿真擴(kuò)展 2958次閱讀
- 單片機(jī)中的堆棧詳細(xì)資料說明 4646次閱讀
- 51單片機(jī)的外部中斷實(shí)驗(yàn)設(shè)計(jì) 1.1w次閱讀
- 如何對51單片機(jī)進(jìn)行外部擴(kuò)展 1.5w次閱讀
- 51單片機(jī)的中斷體系結(jié)構(gòu)_中斷的響應(yīng)過程 1.9w次閱讀
- 關(guān)于單片機(jī)的中斷系統(tǒng)的詳細(xì)介紹 3.1w次閱讀
- 單片機(jī)中斷系統(tǒng)介紹_51單片機(jī)中斷系統(tǒng)結(jié)構(gòu) 1.2w次閱讀
- 詳細(xì)的STM32單片機(jī)學(xué)習(xí)筆記 1.4w次閱讀
- 51單片機(jī)的擴(kuò)展中斷方法 1184次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多