matrix鍵盤工作驅動基本思路

以4*3鍵盤爲例:

 

4個gpio爲output, 3個gpio爲input.

 

開始時,4個output的gpio也爲input狀態. 當掃描開始時(當有鍵按下,觸發中斷),將output的某個gpio設爲1,然後起一個定時器(40-50us)

接着去掃描3個input的gpio.這樣如果沒有鍵按下時,這一列的三個鍵均爲1

如果有鍵按下,則對應gpio的值爲1(跟具體硬件有關).

 

如果硬件沒有做消除抖動,可能會兩個或多個gpio中斷,這樣軟件就需要做消除抖動操作.

 

 

發佈了50 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章