GD32F427/F407領(lǐng)航者開發(fā)板學(xué)習(xí)教程—12 外部中斷實(shí)驗(yàn)

? ? ? ? 大家好,我是凌智君。
????????這一節(jié)給大家介紹一下外部中斷,所謂外部中斷,就是當(dāng)有外部信號(hào)輸入到單片機(jī),單片機(jī)會(huì)自動(dòng)停止當(dāng)前的進(jìn)程,而是去外部中斷里面的內(nèi)容,只有當(dāng)中斷處理完成后,才會(huì)重新回到當(dāng)前進(jìn)程中,既然是外部輸入信號(hào),那肯定是輸入模式,可以使用按鍵模擬外部信號(hào)輸入,詳細(xì)過程如下:
? ? 一、實(shí)驗(yàn)?zāi)康模?br>
????如何配置單片機(jī)觸發(fā)外部中斷。
????二、實(shí)驗(yàn)現(xiàn)象:
????下載程序后復(fù)位開發(fā)板,按下按鍵KEY2,觸發(fā)外部中斷,LED3閃爍。
????三、實(shí)驗(yàn)原理
? ? 問題1:外部中斷原理是什么?
????原因:通過對(duì)邊沿檢測(cè)產(chǎn)生中斷,也就是檢測(cè)高低電平,使用外部中斷要用用SYSCFG寄存器,所以程序里面要初始化這個(gè)時(shí)鐘。

????單片機(jī)有很多外部中斷線,也就是說可以觸發(fā)多個(gè)外部中斷,但是每一個(gè)外部中斷對(duì)應(yīng)著多個(gè)引腳,所以在使用過程中,要將對(duì)應(yīng)的引腳關(guān)聯(lián)到外部中斷線。

????問題2:程序是如何實(shí)現(xiàn)的?
? ? 首先初始化按鍵,然后將按鍵與外部中斷線關(guān)聯(lián)到一起,也就是將對(duì)應(yīng)的輸入引腳,并且配置對(duì)應(yīng)的中斷優(yōu)先級(jí),設(shè)置為下降沿觸發(fā),最后清除一下中斷標(biāo)志,恢復(fù)到默認(rèn)狀態(tài)。
?????外部中斷函數(shù),當(dāng)外部信號(hào)觸發(fā)之后,進(jìn)入這個(gè)函數(shù),進(jìn)行對(duì)應(yīng)的處理。這里是當(dāng)觸發(fā)外部中斷后,先清除標(biāo)志位,然后給一個(gè)自定義的變量賦值。
????在系統(tǒng)初始化函數(shù)和執(zhí)行函數(shù)里面調(diào)用一下,實(shí)現(xiàn)實(shí)驗(yàn)效果。
? ??
????在執(zhí)行函數(shù)里面,不僅判斷中斷觸發(fā)標(biāo)志是否賦值,同時(shí)還判斷這個(gè)是不是這個(gè)按鍵按下觸發(fā)的,驗(yàn)證了按鍵和中斷線的一致性。
? ? 這個(gè)就是整個(gè)外部中斷的過程,不按按鍵,正常狀態(tài)下,不閃爍,按下按鍵觸發(fā)中斷,打斷正常程序,LED燈閃爍,松開按鍵恢復(fù)到默認(rèn)狀態(tài)。將程序下載到開發(fā)板內(nèi),然后復(fù)位開發(fā)板就可以實(shí)現(xiàn)實(shí)驗(yàn)效果了。
配套視頻鏈接:
待更新
凌智君:
YunXiang_TechShare
(添加V,有相關(guān)技術(shù)交流群,需要開發(fā)板可以聯(lián)系技術(shù)支持!!)