PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
ASM
[問題] 該如何處理20個按鍵防彈跳?
作者:
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:00
debounce(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我沒用過架構不了解,原定對應的計畫客戶說不行這週就要測試,所以就先這樣改,能測過才會繼續優化寫法,產品類似儀表開關,一次動到很多個是有可能的
作者:
stupid0319
(徵女友)
2018-01-26 12:16:00
用光軸
作者:
shinfon
(烽燻)
2018-02-18 00:49:00
硬件消抖像是樓上說的電容(不推薦)或是軟件消抖
作者: wang3166 (3166)
2018-02-21 15:55:00
74922 這個IC可以試看看,要判斷狀態 建議用結構體
繼續閱讀
[請益] Arduino程式請教
sdsd65676
Re: [問題] 車用OBD II 的identifier 哪邊找的到
MasterChang
[問題] 車用OBD II 的identifier 哪邊找的到
Iamnyh
[問題] 編輯->compile->sim->燒錄問題
Iamnyh
[問題] Arduino模擬鍵盤問題
jensentaipei
[問題] arduino新手想請教
liquor987
[問題] Segger JLink adapter initialized fail
linchadwick
[問題] 8051無法進入串列中斷 已解決
c407684
[問題] 有關Arduino MFRC522與fingerprint
superstars
[問題] 上傳Hex檔到Linkit Smart 7688 duo
einejack
Links
booklink
Contact Us: admin [ a t ] ucptt.com