按鍵中斷部分的理解

2022-09-07 00:54:15 字數 684 閱讀 5390

初始化tx、rx對應的gpio引腳

設定1個停止位,8位資料位

傳送和接收都是polling

禁止modem、afc

波特率設定

外部中斷對應的gpio設定

中斷觸發模式

中斷允許

清掛起,清除是寫1

繫結異常向量表

禁止所有中斷

選擇中斷型別為irq

清vicxaddr

程式執行-----> 按鍵按下-------->硬體自動跳轉到異常向量表的irq中斷部分 -------->由於向量表這裡寫的是irq_handle的函式位址,所以又發生一次跳轉 ----------

---> 到彙編中執行irq_handle,具體作用為:保護現場、跳轉到真正的中斷處理程式、返回時的現場恢復 ---------> 到.c檔案中執行irq_handler函式 --------->由於除了按鍵之外的其他的一些中斷也會導致發生irq中斷,所以不一定是按鍵中斷------->由於s5pv210幫我們硬體實現了發生的中斷位置1,所以我們只需要到vicaddr[i]中讀取函式執行就可以了。

s5pv210中,有異常向量表,當出現中斷時會硬體會自動跳轉到異常向量表中,去執行向量表中對應的**,但是向量表中實際上每個異常只提供了4個位元組,所以我們在異常向量表中存的實際上是中斷處理函式的位址。

那麼分析一下,按鍵處理的中斷,首先我們做好初始工作

中斷掃瞄按鍵

之前都是使用軟掃瞄,參考 int button scan else 缺點是必須放到主函式的while 1 迴圈,如果while 1 中其他功能占用大量時間,就無法實現按鍵的連續掃瞄。但是如果採用中斷方式,當按鈕連線的pin來乙個上公升沿或下降沿,就會中斷主程序去執行中斷函式,從而實現連續掃瞄。1.f...

中斷 按鍵中斷驅動程式

中斷處理 1 外設的處理速度一般慢於 cpu。2 cpu不能一直等待外部事件,所以裝置必須有一種方法來通知 cpu它的工作進度,這個方法就是中斷,外設與 cpu資訊互動的機制,提高 cpu利用率。處理之外還有查詢,但是查詢會一直占有 cpu資源,導致 cpu低利用率,好處是實現簡單。linux系統中...

樹莓派的按鍵中斷

一 實驗現象 程式實現在樹莓派上通過中斷的方式檢測按鍵是否按下,如果按鍵按下的話,會列印出按鍵按下的提示資訊 二 操作步驟 1,初始化wiringpi庫 2,設定按鍵引腳為輸入模式 3,設定引腳為上拉模式 即 當按鍵沒有被按下時,該輸入腳為高電平 4,註冊中斷程式,並且設定中斷的觸發方式 5,判斷中...