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