初始化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,判斷中...