實(shí)驗(yàn)原理
中斷:當(dāng)外圍設(shè)備需要請(qǐng)求服務(wù)時(shí),向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)外圍設(shè)備中斷,停止執(zhí)行當(dāng)前程序,轉(zhuǎn)去執(zhí)行一個(gè)外圍設(shè)備服務(wù)的程序,此服務(wù)程序稱為中斷服務(wù)處理程序,或稱中斷服務(wù)子程序。中斷處理完畢,CPU又返回來(lái)執(zhí)行原來(lái)的程序。
中斷類型有圖中的幾種,其中復(fù)位中斷的優(yōu)先級(jí)是最高的;
優(yōu)先級(jí)次于復(fù)位中斷的是不可屏蔽中斷,當(dāng)使能時(shí),不可屏蔽中斷即發(fā)生。
接下來(lái)的是12個(gè)可屏蔽硬件中斷,這種類型的中斷需要滿足一定條件下才能發(fā)生。需要在全局中斷使能、不可屏蔽中斷使能、可屏蔽中斷使能、中斷標(biāo)志寄存器相應(yīng)位置1且沒(méi)有更高級(jí)的中斷在執(zhí)行的前提下才能發(fā)生。

接下來(lái)看一下硬件原理圖,實(shí)驗(yàn)過(guò)程中使用的是USER0和USER1,對(duì)應(yīng)接口名字分別是“GPIO0[6]和GPIO6[1]”。
以USER0為例,當(dāng)按鍵按下時(shí),GPIO0[6]為高電平,當(dāng)按鍵松開(kāi)時(shí),GPIO0[6]為低電平。

基于StarterWare控制外設(shè)時(shí)可調(diào)用對(duì)應(yīng)的API接口,無(wú)需配置復(fù)雜的寄存器。GPIO管腳復(fù)用配置的函數(shù)源碼可以查看GPIO.c。

配置GPIO管腳方向的函數(shù)源碼和函數(shù)使用說(shuō)明可以查看gpio.c。其中,第一個(gè)參數(shù)時(shí)GPIO的基地址,第二個(gè)參數(shù)是GPIO的編號(hào),第三個(gè)參數(shù)設(shè)置GPIO的方向。

中斷使用流程分為7個(gè)步驟:
(2)使能DSP全局中斷。
(3)配置按鍵腳的中斷觸發(fā)類型。包括上升沿、下降沿、雙邊觸發(fā)三種觸發(fā)方式。
(4)使能按鍵管腳所在的BANK中斷。
(5)注冊(cè)中斷服務(wù)函數(shù)。注冊(cè)中斷服務(wù)函數(shù)是重點(diǎn),這個(gè)函數(shù)決定了中斷之后要做什么。
(6)映射中斷到DSP的12個(gè)可屏蔽中斷。
(7)使能DSP的可屏蔽中斷。

中斷使用的部分函數(shù)源碼和函數(shù)使用說(shuō)明可以查看interrupt.c。

部分的函數(shù)源碼和函數(shù)使用說(shuō)明可以查看gpio.c。

以中斷觸發(fā)類型配置函數(shù)為例,函數(shù)源碼和函數(shù)使用說(shuō)明可以查看gpio.c。其中,第一個(gè)參數(shù)是GPIO的基地址,第二個(gè)參數(shù)是GPIO的編號(hào),第三個(gè)參數(shù)設(shè)置中斷類型。

配置GPIO輸出值的函數(shù)源碼和函數(shù)使用說(shuō)明可以查看gpio.c。其中,第一個(gè)參數(shù)是GPIO的基地址,第二個(gè)參數(shù)是GPIO的編號(hào),第三個(gè)參數(shù)設(shè)置GPIO的電平。

操作現(xiàn)象
導(dǎo)入工程
編譯工程
將CCS連接開(kāi)發(fā)板并加載程序
點(diǎn)擊運(yùn)行程序
查看現(xiàn)象,按下USER1按鍵,核心板兩個(gè)LED開(kāi)始循環(huán)點(diǎn)亮。按下USER0按鍵,核心板個(gè)LED停止循環(huán)點(diǎn)亮。
-
led燈
+關(guān)注
關(guān)注
22文章
1604瀏覽量
111033 -
DSP控制
+關(guān)注
關(guān)注
0文章
12瀏覽量
10798 -
GPIO
+關(guān)注
關(guān)注
16文章
1311瀏覽量
55673 -
中斷控制器
+關(guān)注
關(guān)注
0文章
62瀏覽量
9771 -
按鍵中斷
+關(guān)注
關(guān)注
0文章
15瀏覽量
6594
發(fā)布評(píng)論請(qǐng)先 登錄
STM32F103實(shí)驗(yàn)按鍵輸入與串口實(shí)驗(yàn)
按鍵中斷控制LED跑馬燈實(shí)驗(yàn)的相關(guān)資料分享
鍵盤中斷實(shí)驗(yàn)
HarmonyOS Hi3861 GPIO操作 點(diǎn)燈和按鍵實(shí)驗(yàn)
【嵌入式】按鍵中斷控制 LED
【嵌入式】按鍵中斷控制 LED 跑馬燈實(shí)驗(yàn)
【嵌入式】按鍵中斷控制 LED 及蜂鳴器實(shí)驗(yàn)
STM32F103-入門基礎(chǔ)實(shí)驗(yàn)-GPIO輸入-按鍵(查詢/中斷)控制LED核心代碼(固件庫(kù)版)
簡(jiǎn)單易懂的STM32外部中斷實(shí)現(xiàn)按鍵輸入判斷
STM32 按鍵輸入實(shí)驗(yàn)
STM32基本GPIO操作:按鍵輸入(掃描+外部中斷)
STM32 HAL庫(kù) CubeMX教程(四)按鍵外部中斷
STM32學(xué)習(xí)---中斷EXTI(按鍵中斷)
按鍵中斷實(shí)驗(yàn)是什么

DSP操作教程:按鍵中斷輸入實(shí)驗(yàn)
評(píng)論