您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 状态机 >

单片机使用状态机无延时按键消抖是怎样的原理

发布时间:2019-08-07 02:55 来源:未知 编辑:admin

  但是我想不明白的是,进来的是init状态,当有按键按下, Key_State = Press; 然后就退出了Keyscan。在程序执行的第二次的时候,就直接进入了case Press ,然后就判断是否还继续按下。按照程序的流程,也就是使用程序执行二次判断是否按下这个时间作为按键消抖时间?按照这样的流程,如果说我代码段比较少,那不是达不到延时10ms的目的

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  我现在用的是直接delay来延时,但在网上看到这样的方法就想拿来用。思索了下,感觉有点不靠谱。

  你的理解是对的,如果程序段没那么长那么就达不到10MS,如果觉得时间太短,按键太灵敏了,那就判断多次好了,就是进行2次或3次判断。。

  如果是这样子的话,我代码移植重用每次的长度都不同,那不是需要重新调整?

  是的!!基本框架不变,改改参数就能用,还是很方便的!!你说的delay延时,在外设少的时候还可以用外设多了,根本就用不了,让MCU在那里做无用操作等着,不仅浪费MCU资源,有时转不过来。。比如,按键,扫描显示数码管,读取外部数据,你那这里延时,那里延时,你数码管还能正常扫描吗?

http://emmaclarkson.com/zhuangtaiji/398.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有