嵌入式與韌體
以軟體消除開關彈跳的方法,下列何者最為適當?
- A增加讀取腳位的次數,只要有一次讀到1就視為已按下
- B每隔數毫秒讀取腳位,當相同的值連續出現數次時,才視為狀態改變
- C開關一被按下,就重新啟動微控制器
查看答案與解析
正確答案:B. 每隔數毫秒讀取腳位,當相同的值連續出現數次時,才視為狀態改變
彈跳會在數毫秒內平息,因此例如每5 ms讀取一次腳位,當相同的值連續3次時才判斷狀態改變,就能忽略彈跳期間的變化。若以計時器中斷定期讀取,就不會中斷其他處理。等待時間若設得太長會讓人覺得反應遲鈍,因此要配合開關的特性來決定。
- A. 會把彈跳期間的所有變化都讀進來。
- B. 正確。可忽略彈跳期間的變化。
- C. 不需要重新啟動。