作者:
zxzx8059 (zxzx8059)
2018-01-19 12:24:33各位先進大家好
一般在按鈕開關MCU都會做防彈跳(消抖),Timer+狀態機之類的,只需判斷是否按下,不
判斷長短壓、連按之類的。
若是一個兩個開關還好,但是增加到20個開關對應20個I/O時,請問各位先進會如何處理
呢?
作者:
zxzx8059 (zxzx8059)
2018-01-19 12:26:00目前還沒有很好的想法,最慘就是土法煉鋼,相關的code複製20份Orz
作者:
dsplab (星野夢美)
2018-01-19 13:03:00每個按鍵併聯上0.1uF的電容
作者:
zxzx8059 (zxzx8059)
2018-01-19 15:08:00改硬體要重新送認證... 目前的狀況是io被emi打到讓mcu以為開關開了
作者:
chuegou (chuegou)
2018-01-19 16:12:00debounce(Button_struct* pbutton)相關參數封裝成結構就可以了
作者:
zxzx8059 (zxzx8059)
2018-01-19 18:04:00謝謝,我想一想
作者:
lion21 (好歹我也是個夕陽武士)
2018-01-21 22:57:00改架構吧 我認為可以更好
作者:
TWkobe (中華柯比)
2018-01-24 02:00:00為什麼20個要 debounce 難不成會同時?作成key pad然後用int,timer即可
作者:
zxzx8059 (zxzx8059)
2018-01-24 09:41:00因為是20個實體的開關機構
作者:
TWkobe (中華柯比)
2018-01-24 11:34:00基本上不太可能多按扭同時按下 timer是夠用的只要某個按扭按下 觸發int啟動isr然後啟動timer即可 多按扭就可以用array紀錄status不過未何需要20份同樣的code?
作者:
zxzx8059 (zxzx8059)
2018-01-24 13:14:00原本負責的同事在國外出差,用的mcu我沒用過架構不了解,原定對應的計畫客戶說不行這週就要測試,所以就先這樣改,能測過才會繼續優化寫法,產品類似儀表開關,一次動到很多個是有可能的
作者:
shinfon (烽燻)
2018-02-18 00:49:00硬件消抖像是樓上說的電容(不推薦)或是軟件消抖
作者: wang3166 (3166) 2018-02-21 15:55:00
74922 這個IC可以試看看,要判斷狀態 建議用結構體