如何避免长按弹起的误触发?

[复制链接]
2714|40
fail 发表于 2019-1-31 16:04 | 显示全部楼层
程序流程处理好就好了,任何情况下醒来,判断条件成立才跑到主应用,不成立继续休眠。
kkzz 发表于 2019-2-1 21:28 | 显示全部楼层
最简单的就是使用延时函数      
hudi008 发表于 2019-2-1 21:28 | 显示全部楼层
按键刚按下和抬起的时候,电平是不稳定的
lzmm 发表于 2019-2-1 21:29 | 显示全部楼层
电压检测,需要不断扫描IO电平,比较消耗CPU资源
minzisc 发表于 2019-2-1 21:29 | 显示全部楼层
一般采用延迟采样              
selongli 发表于 2019-2-1 21:29 | 显示全部楼层
需要考虑按键动作的时间   
fentianyou 发表于 2019-2-1 21:29 | 显示全部楼层
必须进行按键的消抖处理。   
xiaoyaodz 发表于 2019-2-1 21:30 | 显示全部楼层
按键消抖可分为硬件消抖和软件消抖。
febgxu 发表于 2019-2-1 21:30 | 显示全部楼层
通过延时程序过滤。        
sdlls 发表于 2019-2-1 21:30 | 显示全部楼层
持续采样会大大提高采样的准确度   
pixhw 发表于 2019-2-1 21:31 | 显示全部楼层
可以设置一个标志位来显示是否处于按键识别处理阶段
febgxu 发表于 2019-2-1 21:31 | 显示全部楼层
是当检测到按键状态变化后,先等待一个10ms左右的延时时间,让抖动消失后再进行一次按键状态检测
kkzz 发表于 2019-2-1 21:31 | 显示全部楼层
延时可以实现误触发了。
xiaoyaodz 发表于 2019-2-1 21:31 | 显示全部楼层
利用电容的充放电特性来对抖动过程中产生的电压毛刺进行平滑处理,从而实现消抖。
hudi008 发表于 2019-2-1 21:31 | 显示全部楼层
需要考虑去抖。               
fentianyou 发表于 2019-2-1 21:31 | 显示全部楼层
确保程序对按键的一次闭合或者一次断开只响应一次
lzmm 发表于 2019-2-1 21:31 | 显示全部楼层
中断检测,不必持续检测,节省CPU的资源
selongli 发表于 2019-2-1 21:31 | 显示全部楼层
在一段时间内发生的多次中断都要识别为一次。
minzisc 发表于 2019-2-1 21:31 | 显示全部楼层
持续采样就能解决这个问题。
pixhw 发表于 2019-2-1 21:31 | 显示全部楼层
如果处于按键识别处理阶段即便产生中断也不进行任何响应
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部