STM32F103單片機(jī)學(xué)習(xí)筆記(2):外部中斷_第1頁
STM32F103單片機(jī)學(xué)習(xí)筆記(2):外部中斷_第2頁
STM32F103單片機(jī)學(xué)習(xí)筆記(2):外部中斷_第3頁
STM32F103單片機(jī)學(xué)習(xí)筆記(2):外部中斷_第4頁
STM32F103單片機(jī)學(xué)習(xí)筆記(2):外部中斷_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁STM32F103單片機(jī)學(xué)習(xí)筆記(2):外部中斷

對(duì)于(STM32)的中斷首先需要用到的文件是startup_stm32f10x_hd.s和stm32f10x_it.c這兩個(gè)文件,其中startup_stm32f10x_hd.s是啟動(dòng)文件,stm32f10x_it.c是中斷響應(yīng)函數(shù)。對(duì)于外部中斷,它的過程是外部的IO口監(jiān)測(cè)到電平的變化,觸發(fā)外部中斷,所以它又涉及到3個(gè)庫文件,stm32f10x_gpio.c、stm32f10x_ex(ti).c和misc.c,misc.c包含中斷庫,stm32f10x_exti.c是外部的IO口中斷,stm32f10x_gpio.c是IO口的配置。還有一個(gè)我們上一篇中說的所有的外設(shè)都要用到的庫文件(時(shí)鐘)stm32f10x_rcc.c。

一、啟動(dòng)文件

說外部中斷之前,先了解下啟動(dòng)文件,也就是startup_stm32f10x_hd.s,它是用(匯編)語言寫的,主要的作用是在上電啟動(dòng)的時(shí)候,建立(C語言)的運(yùn)行環(huán)境。它主要的功能如下:

初始化堆棧指針SP

初始化程序計(jì)數(shù)器指針PC

設(shè)置堆、棧的大小

設(shè)置中斷向量的入口地址

配置外部S(RAM)作為數(shù)據(jù)存儲(chǔ)器

調(diào)用SystemInit()函數(shù)配置STM32的系統(tǒng)時(shí)鐘

設(shè)置C庫的分支入口”_main”(最終用來調(diào)用main函數(shù))

這些就是我們要的中斷函數(shù)的入口地址,當(dāng)發(fā)生中斷時(shí),是哪種中斷就進(jìn)入相應(yīng)地址。

二、中斷

中斷是指當(dāng)出現(xiàn)需要時(shí),(CPU)暫時(shí)停止當(dāng)前程序的執(zhí)行而執(zhí)行處理新情況,大體的框圖如下:

在STM32中還有一個(gè)中斷優(yōu)先級(jí)的問題,當(dāng)出現(xiàn)多個(gè)中斷時(shí),他們執(zhí)行的順序是什么,如下圖所示:3的優(yōu)先級(jí)高于2的優(yōu)先級(jí)高于1的優(yōu)先級(jí)。

三、外部中斷的程序流程

四、具體的做法

STM32口的外部中斷映射如下,首先看那個(gè)叫要設(shè)置為外部中斷,則看是EXTI幾。

第一步:當(dāng)然是設(shè)置系統(tǒng)時(shí)鐘,調(diào)用的函數(shù)之前說過了,不說了。

第二步:設(shè)置一個(gè)口PA0為外部中端口,首先就是設(shè)置PA0為普通的輸入口,在GPIO庫文件中找,這里也不說了。

其次是設(shè)置IO口為外部中斷。

接下來是設(shè)置外部中斷,在.exti文件中進(jìn)行設(shè)置。

根據(jù)這些函數(shù)配置外部中斷

這個(gè)時(shí)候外部中斷已經(jīng)配置好了,但是還得配置中斷和設(shè)置中斷優(yōu)先級(jí),在misc.c文件中

根據(jù)庫函數(shù)表就可以對(duì)應(yīng)的找到設(shè)置。

這樣中斷就設(shè)置完成了。

接下來寫中斷服務(wù)函數(shù)。

但是還是不夠,這時(shí)還需要把中斷服務(wù)函數(shù)和我們啟動(dòng)文件中的中斷響應(yīng)函數(shù)連接起來,最后當(dāng)發(fā)生中斷時(shí)直接進(jìn)入中斷服務(wù)函數(shù),這時(shí)再在啟動(dòng)文件中找到這個(gè)中斷發(fā)生的函數(shù)入口

在stm32f10x_it.h中添加

在stm32f10x_it.c的文件中添加如下:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論