收藏官网首页
查看: 3795|回复: 0

[经验分享] touchkey 长短按检测

106

主题

107

帖子

7264

积分

论坛元老

Rank: 8Rank: 8

积分
7264
跳转到指定楼层
楼主
 楼主| 发表于 2023-8-18 21:34:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
    对于长短按检测,我们可以使用静态变量来储存按下的时长,等待放手后通过检测时长来判断具体属于短按还是长按。首先我们需要一个获取touch key adc变量的函数 我这里的adc为12bit 因此最大值为4096

接下来,我们定义一下touch key判断被按下的值和长按的判断时间

然后,就可以开始编写长短按检测的函数了。

在touch key被按下后 press的值会不断增长,直到放手后对press的值进行判断,大于300ms左右则判断为长按,其余为短按。

在userhandle 调用函数,测试长短按。

从串口读取数据

正常工作。这里因为另一个touchkey端口被复用,因此此函数只作为单个touchkey的长短按检测,假如有多个touchkey需要检测,还需要额外加一些判断条件。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表