|
对于长短按检测,我们可以使用静态变量来储存按下的时长,等待放手后通过检测时长来判断具体属于短按还是长按。首先我们需要一个获取touch key adc变量的函数 我这里的adc为12bit 因此最大值为4096
接下来,我们定义一下touch key判断被按下的值和长按的判断时间
然后,就可以开始编写长短按检测的函数了。
在touch key被按下后 press的值会不断增长,直到放手后对press的值进行判断,大于300ms左右则判断为长按,其余为短按。
在userhandle 调用函数,测试长短按。
从串口读取数据
正常工作。这里因为另一个touchkey端口被复用,因此此函数只作为单个touchkey的长短按检测,假如有多个touchkey需要检测,还需要额外加一些判断条件。
|
|