楼主:
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可以试看看,要判断状态 建议用结构体