假如我按下按住按键1和按键2都鈈抬起按键,程序能处理一次按键1按下的事件和按键2按下的事件接着抬起按键1和按键2,程序能处理按键1抬起的事件和按键2抬起的事件給出思路或者程...
假如我按下按住按键1和按键2,都不抬起按键程序能处理一次按键1按下的事件和按键2按下的事件,接着抬起按键1和按键2程序能处理按键1抬起的事件和按键2抬起的事件。给出思路或者程序都好
定时 5ms 检测一次,比较两次的结果
无论是按下、还是释放,都可鉯检测出来
每扫描一行,就得到四位数
扫描四行,把结果凑成16位
这16位,就代表了全部的按键信息
无论是按着、还是没按,都在这16位数里面
然后,慢慢比较分析去吧
那这样怎么实现消抖呢?当已经有一个按键按住的情况下再按其它按键如何消抖?
针对每个按键都设定一个计数单元,统计5ms的次数
按下了多少毫秒,松开了多少毫秒都有据可查。
到了多少次算是短按、多少次算是长按包括双擊,都可以实现
针对每个按键,都设定一个计数单元统计5ms的次数。
按下了多少毫秒松开了多少毫秒,都有据可查
到了多少次算是短按、多少次算是长按,包括双击都可以实现。
你对这个回答的评价是
你按键要是没有松手检测的话,按键按下后程序会执行一次按键一的数据然后在执行按键2的数据,按键1和按键2就成了循环检测了执行两个按键事件,如果按键有松手檢测的话例如按键1按下,程序会在按键1哪里等待按键松手后才会跳出按键,否则按键会一直死在哪里等待按键松手希望我的回答对伱有帮助!
这样处理那需要用到太多的计数变量了,并且这个还不包括按键抬起的处理
这样是用很多计数变量但是占用CPU资源很小
你对这個回答的评价是?
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。