實驗原理
中斷:當外圍設備需要請求服務時,向CPU發出中斷請求,CPU響應外圍設備中斷,停止執行當前程序,轉去執行一個外圍設備服務的程序,此服務程序稱為中斷服務處理程序,或稱中斷服務子程序。中斷處理完畢,CPU又返回來執行原來的程序。
中斷類型有圖中的幾種,其中復位中斷的優先級是最高的;
優先級次于復位中斷的是不可屏蔽中斷,當使能時,不可屏蔽中斷即發生。
接下來的是12個可屏蔽硬件中斷,這種類型的中斷需要滿足一定條件下才能發生。需要在全局中斷使能、不可屏蔽中斷使能、可屏蔽中斷使能、中斷標志寄存器相應位置1且沒有更高級的中斷在執行的前提下才能發生。
接下來看一下硬件原理圖,實驗過程中使用的是USER0和USER1,對應接口名字分別是“GPIO0[6]和GPIO6[1]”。
以USER0為例,當按鍵按下時,GPIO0[6]為高電平,當按鍵松開時,GPIO0[6]為低電平。
基于StarterWare控制外設時可調用對應的API接口,無需配置復雜的寄存器。GPIO管腳復用配置的函數源碼可以查看GPIO.c。
配置GPIO管腳方向的函數源碼和函數使用說明可以查看gpio.c。其中,第一個參數時GPIO的基地址,第二個參數是GPIO的編號,第三個參數設置GPIO的方向。
中斷使用流程分為7個步驟:
(2)使能DSP全局中斷。
(3)配置按鍵腳的中斷觸發類型。包括上升沿、下降沿、雙邊觸發三種觸發方式。
(4)使能按鍵管腳所在的BANK中斷。
(5)注冊中斷服務函數。注冊中斷服務函數是重點,這個函數決定了中斷之后要做什么。
(6)映射中斷到DSP的12個可屏蔽中斷。
(7)使能DSP的可屏蔽中斷。
中斷使用的部分函數源碼和函數使用說明可以查看interrupt.c。
部分的函數源碼和函數使用說明可以查看gpio.c。
以中斷觸發類型配置函數為例,函數源碼和函數使用說明可以查看gpio.c。其中,第一個參數是GPIO的基地址,第二個參數是GPIO的編號,第三個參數設置中斷類型。
配置GPIO輸出值的函數源碼和函數使用說明可以查看gpio.c。其中,第一個參數是GPIO的基地址,第二個參數是GPIO的編號,第三個參數設置GPIO的電平。
操作現象
導入工程
編譯工程
將CCS連接開發板并加載程序
點擊運行程序
查看現象,按下USER1按鍵,核心板兩個LED開始循環點亮。按下USER0按鍵,核心板個LED停止循環點亮。
-
led燈
+關注
關注
22文章
1592瀏覽量
108106 -
DSP控制
+關注
關注
0文章
12瀏覽量
10609 -
GPIO
+關注
關注
16文章
1205瀏覽量
52171 -
中斷控制器
+關注
關注
0文章
59瀏覽量
9469 -
按鍵中斷
+關注
關注
0文章
15瀏覽量
6459
發布評論請先 登錄
相關推薦
評論