你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
moyanming2013 发表于 2015-5-4 14:16 如何解决快速按键的缓冲问题呢? 用队列是否更好呢?
suyong_yq 发表于 2015-11-17 21:35 不好意思,这半年比较忙,好久没有逛论坛了。 我写过一个专门做按键识别的组件,可以识别按键的各种动作 ...
无帝老三 发表于 2017-2-22 13:56 您好,是不是状态机加定时器? 可不可以用任务延时代替定时器?
suyong_yq 发表于 2017-3-5 00:47 是状态机+定时器的做法。 不建议用任务延时代替定时器,因为任务延时会额外占用一个任务描述符。但是在操 ...
appllo 发表于 2015-12-18 11:12 消息队列肯定是更好的
消息队列肯定是更好的
有没有好的方法?
您好,是不是状态机加定时器?
可不可以用任务延时代替定时器?
是状态机+定时器的做法。
不建议用任务延时代替定时器,因为任务延时会额外占用一个任务描述符。但是在操作系统环境下,用一个专门的任务监控状态机并且分发按键消息是非常有必要的。
这还有一个方法就是,用OS的软件定时器,对于还有误触发情况我们可以用STM32硬件按键滤波方法
---》STM32的定时器输入通道都有一个滤波单元,分别位于每个输入通路上(下图中的黄色框)和外部触发输入通路上(下图中的兰色框),它们的作用是滤除输入信号上的高频干扰。
http://www.eeworld.com.cn/mndz/2013/0922/article_19360.html
这个是香水城分享的
方法很多,基于队列也很好。不过基于队列同时相应两个按键连击好像处理就麻烦点了。
下面是我开一个按键扫描任务里面发送标志到标志组,其他任务检查标志组就可以。