以4*3鍵盤爲例:
4個gpio爲output, 3個gpio爲input.
開始時,4個output的gpio也爲input狀態. 當掃描開始時(當有鍵按下,觸發中斷),將output的某個gpio設爲1,然後起一個定時器(40-50us)
接着去掃描3個input的gpio.這樣如果沒有鍵按下時,這一列的三個鍵均爲1
如果有鍵按下,則對應gpio的值爲1(跟具體硬件有關).
如果硬件沒有做消除抖動,可能會兩個或多個gpio中斷,這樣軟件就需要做消除抖動操作.
以4*3鍵盤爲例:
4個gpio爲output, 3個gpio爲input.
開始時,4個output的gpio也爲input狀態. 當掃描開始時(當有鍵按下,觸發中斷),將output的某個gpio設爲1,然後起一個定時器(40-50us)
接着去掃描3個input的gpio.這樣如果沒有鍵按下時,這一列的三個鍵均爲1
如果有鍵按下,則對應gpio的值爲1(跟具體硬件有關).
如果硬件沒有做消除抖動,可能會兩個或多個gpio中斷,這樣軟件就需要做消除抖動操作.
1、不說"不可能";2、凡事第一反應: 找方法,不找藉口;3、遇到挫折對自己說聲:太好了,機會來了!4、不說消極的話,不落入消極的情緒,一旦發生立即正
http://se.csai.cn/ANALYZE/200904090924001269.htm http://www.docin.com/p-2086224.html