[触控技术] 新定义触摸按键实现长按功能

[复制链接]
 楼主| 小小蚂蚁举千斤 发表于 2023-4-17 16:00 | 显示全部楼层 |阅读模式
长按按键时触控库函数会一直返回当前按键值,用户需要定时、检测 、触控、 按键是否一直存在
来判断是否满足长按键的条件 ,即可实现长按键功能。
新定义的触控库会有按键最长输出时间限制,触控参数里面有一个按键最长输出,默认是 3000,
在调用 3000轮触控扫描函数都为有按键状态,就会强制更新基线,此时按键就会失效,
如果长按键时间需求较长可以修改按键最长输出参数来增加按键的保持时间 ,按键
最长输出时间最大可设置为 65535。

jimmhu 发表于 2023-5-10 21:26 | 显示全部楼层
当检测到有按键按下了,就开始计时,用定时器,检测到按键松开了,停止计时,然后根据计时的时间长短,确定是长按还是短按
everyrobin 发表于 2023-5-10 22:07 | 显示全部楼层
怎么实现长按和短按和组合键功能              
uptown 发表于 2023-5-10 22:13 | 显示全部楼层
在检测到按键按下后,启动一个计时器,每隔一段时间检查一次按键状态,在规定的时间内如果一直保持按下状态,则认为是长按事件。
mattlincoln 发表于 2023-5-11 15:51 | 显示全部楼层
应该是长按,重置定时器。如果出现了一定间隔的断开,那么等待直到定时器中断发生时,检查flag中btn状态和现在btn状态,则可以发现是否双click
yorkbarney 发表于 2023-5-11 16:04 | 显示全部楼层
长按和短按很好实现               
deliahouse887 发表于 2023-5-11 16:19 | 显示全部楼层
需要考虑多个按键同时按下的情况、按键抖动问题、长按事件的重复触发等问题
1988020566 发表于 2023-5-11 16:28 | 显示全部楼层
检测到按键按下后,来一个 for(;;){ 按键松了break;否则一只等待,同时一个变量i++当i加到一定值就可以为长按了 }
uytyu 发表于 2023-5-11 16:32 | 显示全部楼层
单片机中如何按下按键时数码管正常显示而不闪烁
earlmax 发表于 2023-5-11 16:45 | 显示全部楼层
触摸按键的长按功能可以通过软件延时或硬件定时器来实现。
loutin 发表于 2023-5-11 16:59 | 显示全部楼层
要根据具体应用需求来设置合适的长按阈值和定时周期,并进行测试和调试
albertaabbot 发表于 2023-5-11 17:05 | 显示全部楼层
这个可以通过定时器来实现              
pentruman 发表于 2023-5-11 17:09 | 显示全部楼层
使用MCU内部的硬件定时器(如TIMER)来实现定时监测长按事件。
robertesth 发表于 2023-5-11 17:20 | 显示全部楼层
51单片机如何实现按键的长按与短按功能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2542

帖子

1

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