f145f145 发表于 2015-5-27 18:51:03

我也要学一下,先Mark

suyong_yq 发表于 2015-9-8 01:40:33

这样处理按键在避免连击的时候会出现问题:我按下一次,根据需要本来只要响应一次就够了,但是会触发很多次按键事件。若是通过增加滤波计数,则会影响到按键的响应速度,识别按键慢了。实际上我们需要的按键需要快速识别,但又可以有选择地响应连击事件或是单纯的按下事件。

saefra 发表于 2015-9-10 11:24:07

suyong_yq 发表于 2015-9-8 01:40
这样处理按键在避免连击的时候会出现问题:我按下一次,根据需要本来只要响应一次就够了,但是会触发很多次 ...

实际上我们需要的按键需要快速识别,但又可以有选择地响应连击事件或是单纯的按下事件。

可有良策?

suyong_yq 发表于 2015-11-17 21:35:01

saefra 发表于 2015-9-10 11:24
实际上我们需要的按键需要快速识别,但又可以有选择地响应连击事件或是单纯的按下事件。

可有良策? ...

不好意思,这半年比较忙,好久没有逛论坛了。
我写过一个专门做按键识别的组件,可以识别按键的各种动作的,包括短按按下、短按弹起、长按、长按弹起、连击、连击弹起等动作。可以提供的信息是,设计的核心思想是状态机。在设计完成后发现比最开始想得稍微复杂一点。

gujiao 发表于 2015-11-18 09:31:59

不错,学习了:)

appllo 发表于 2015-12-18 11:12:09

moyanming2013 发表于 2015-5-4 14:16
如何解决快速按键的缓冲问题呢?
用队列是否更好呢?

消息队列肯定是更好的

2602082487 发表于 2015-12-18 11:54:44

谢谢分享:):):)

无帝老三 发表于 2017-2-22 13:55:28

多个按键的处理呢?不止要返回按键值还要返回按键类型,单击 双击 长按
有没有好的方法?

无帝老三 发表于 2017-2-22 13:56:44

suyong_yq 发表于 2015-11-17 21:35
不好意思,这半年比较忙,好久没有逛论坛了。
我写过一个专门做按键识别的组件,可以识别按键的各种动作 ...

您好,是不是状态机加定时器?
可不可以用任务延时代替定时器?

zbber 发表于 2017-2-22 15:28:14

不错,先记号一下
页: 1 [2] 3
查看完整版本: FREERTOS下的按键处理方式讨论