ljz1992 发表于 2018-6-8 14:44:32

按键释放需要消抖吗

本帖最后由 ljz1992 于 2018-6-8 15:12 编辑

我是通过电平值来判断是否有按键按下,由于我的程序中按键支持短按、长按、连续(就像遥控器音量键那样)模式,所以想要在判断为按键确实按下时执行程序,而不是释放时执行程序。因此,突然想问一下是否需要在按键释放的时候也进行消抖。

我认为因为有按键按下的消抖程序,所以在按键释放时即使不消抖也不会被程序认为按键释放又被按下的情况。只不过会在释放时抖动的一开始就会被认为按键释放罢了。

不知道我是否还有考虑不全的方面,所以在此咨询一下大家按键释放时到底是否有必要进行消抖?





MrJiu 发表于 2018-6-8 14:56:36

释放不需要。。。因为再次识别的时候,会被识别消抖去除!!!:lol:lol:lol

电子星辰 发表于 2018-6-8 15:03:18

不需要吧,你的释放消抖可能会影响连续模式,但要不要释放消抖对长按影响应该不大。其实我觉得这个最好的办法是你直接试,最靠谱:lol

wudianjun2001 发表于 2018-6-8 15:09:14

不需要,按下的时候需要处理下的

zhao.zhao 发表于 2018-6-8 15:12:33

需要的,释放时也有抖动的,会被判为按下

ljz1992 发表于 2018-6-8 15:14:36

MrJiu 发表于 2018-6-8 14:56
释放不需要。。。因为再次识别的时候,会被识别消抖去除!!!

是的,我也是这样认为的,就是担心是否会考虑的不周

与龙共舞 发表于 2018-6-8 15:14:52

其实我看原子的 在按下 释放 都没消抖
他的做法: 不单单是按键GPIO的中断线 他还用一个定时器去实时检测 如此判断短按 长按 双击
主要逻辑在TIM中断里面

ljz1992 发表于 2018-6-8 15:17:31

电子星辰 发表于 2018-6-8 15:03
不需要吧,你的释放消抖可能会影响连续模式,但要不要释放消抖对长按影响应该不大。其实我觉得这个最好的办 ...

如果加上释放消抖的程序,觉得一下子复杂了好多:'(

ljz1992 发表于 2018-6-8 15:18:27

zhao.zhao 发表于 2018-6-8 15:12
需要的,释放时也有抖动的,会被判为按下

但是按下的时候有消抖啊,为什么还会被判为按下呢

す疯Ⅱ恒す 发表于 2018-6-8 15:26:40

消抖是稍微低一层,判断键值是高一层,不影响的,既然是消抖,那当然按下释放都一起解决了。
页: [1] 2 3 4
查看完整版本: 按键释放需要消抖吗