mmuyu 发表于 2023-8-18 21:34:31

touchkey 长短按检测

    对于长短按检测,我们可以使用静态变量来储存按下的时长,等待放手后通过检测时长来判断具体属于短按还是长按。首先我们需要一个获取touch key adc变量的函数 我这里的adc为12bit 因此最大值为4096

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

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

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

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

从串口读取数据

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

页: [1]
查看完整版本: touchkey 长短按检测