AHBbGao 发表于 2024-4-5 09:03:02

关于STC触摸按钮示例代吗,怎么实现长按识别功能

官网上有触摸按钮的示例代码,烧到STC8H1K17T单片中可以使用。内容是识别每个按钮短按情况。现在项目中有个需求,就是有一个按钮是要识别长按或短按,进行相应的动作。试了好多次,一直没有在给的示例程序的基础上,修改成可以识别出长按短按的功能。请老师们指点一下,应该在哪修改才行。
其中关键的变量是TK_counter。

在这问题搞了二天,也没有试好,哪位朋友可以帮帮忙


yjawei 发表于 2024-4-5 10:00:30

长按需要检测释放的时候,
1:每隔一段时间检测有没有按键按下,并做好备份
2:当前的状态与备份状态不一样的时候证明有按键按下,
3:等待按键释放
4:释放后计算检测的间隔用来识别长按还是短按。
来来去去就是边沿检测与状态持续时间,触摸的也是一样,只不过用高低电平变成了XXbit的数值。

xxxevery 发表于 2024-4-5 13:56:10

把键扫描程序放到定时中断里执行,键扫描程序检测按下的键值同时有键按下时用一个变量计数,长按动作时间=定时中断T*计数变量值

AHBbGao 发表于 2024-4-5 18:52:31

个人试了,但是没有成功,有偿,可谈,想请高手出招呀。

好黑蚂蚁 发表于 2024-4-6 00:12:51

AHBbGao 发表于 2024-4-5 18:52
个人试了,但是没有成功,有偿,可谈,想请高手出招呀。

请教,问题解决了吗?

21cnsound 发表于 2024-4-6 08:53:35

AHBbGao 发表于 2024-4-5 18:52
个人试了,但是没有成功,有偿,可谈,想请高手出招呀。

论坛上就有分享,包括双击、长按的,经测试好用

huatlwangl 发表于 2024-10-16 10:19:21

21cnsound 发表于 2024-4-6 08:53
论坛上就有分享,包括双击、长按的,经测试好用

哪里有呢

网老四 发表于 2024-10-16 11:29:08

多半是用了零点追踪功能,把长按识别成零点偏移了,屏蔽零点追踪功能测试下,如果有效果,就要根据长按时间来调整零点追踪部分代码的判断条件.

haiyang201 发表于 2024-10-16 14:22:27

按键的长按好用过,触摸的没搞过

lzzasd 发表于 2024-10-16 21:02:34

这个太简单了   你首先得弄清楚触摸的原理与控制写法   其次弄个全局变量记录是否触摸   如果触摸触发了开启定时查询状态   检测到没触摸就停止计时    通过触摸时间长短就能区别长按短按了
页: [1] 2
查看完整版本: 关于STC触摸按钮示例代吗,怎么实现长按识别功能