找回密码
 立即注册
查看: 816|回复: 10

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-30 05:40:21

5

主题

12

回帖

131

积分

注册会员

积分
131
发表于 2024-4-5 09:03:02 | 显示全部楼层 |阅读模式
官网上有触摸按钮的示例代码,烧到STC8H1K17T单片中可以使用。内容是识别每个按钮短按情况。现在项目中有个需求,就是有一个按钮是要识别长按或短按,进行相应的动作。试了好多次,一直没有在给的示例程序的基础上,修改成可以识别出长按短按的功能。请老师们指点一下,应该在哪修改才行。
其中关键的变量是TK_counter[tkn]。

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


01.png
2.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:402
  • 最近打卡:2025-05-01 10:01:59

0

主题

170

回帖

955

积分

高级会员

积分
955
发表于 2024-4-5 10:00:30 | 显示全部楼层
长按需要检测释放的时候,
1:每隔一段时间检测有没有按键按下,并做好备份
2:当前的状态与备份状态不一样的时候证明有按键按下,
3:等待按键释放
4:释放后计算检测的间隔用来识别长按还是短按。
来来去去就是边沿检测与状态持续时间,触摸的也是一样,只不过用高低电平变成了XXbit的数值。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-04-30 00:26:42

0

主题

336

回帖

1490

积分

金牌会员

积分
1490
发表于 2024-4-5 13:56:10 | 显示全部楼层
把键扫描程序放到定时中断里执行,键扫描程序检测按下的键值同时有键按下时用一个变量计数,长按动作时间=定时中断T*计数变量值
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-30 05:40:21

5

主题

12

回帖

131

积分

注册会员

积分
131
发表于 2024-4-5 18:52:31 | 显示全部楼层
个人试了,但是没有成功,有偿,可谈,想请高手出招呀。
回复 支持 反对

使用道具 举报 送花

1

主题

2

回帖

63

积分

注册会员

积分
63
发表于 2024-4-6 00:12:51 来自手机 | 显示全部楼层
AHBbGao 发表于 2024-4-5 18:52
个人试了,但是没有成功,有偿,可谈,想请高手出招呀。

请教,问题解决了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-4-6 08:53:35 | 显示全部楼层
AHBb*** 发表于 2024-4-5 18:52
个人试了,但是没有成功,有偿,可谈,想请高手出招呀。

论坛上就有分享,包括双击、长按的,经测试好用
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-03-26 09:09:59

6

主题

104

回帖

351

积分

中级会员

积分
351
发表于 2024-10-16 10:19:21 | 显示全部楼层
21cns*** 发表于 2024-4-6 08:53
论坛上就有分享,包括双击、长按的,经测试好用

哪里有呢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:365
  • 最近打卡:2025-05-02 00:20:03

6

主题

319

回帖

2206

积分

金牌会员

积分
2206
发表于 2024-10-16 11:29:08 | 显示全部楼层
多半是用了零点追踪功能,把长按识别成零点偏移了,屏蔽零点追踪功能测试下,如果有效果,就要根据长按时间来调整零点追踪部分代码的判断条件.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-01 06:53:32
已绑定手机

4

主题

339

回帖

1558

积分

金牌会员

积分
1558
发表于 2024-10-16 14:22:27 | 显示全部楼层
按键的长按好用过,触摸的没搞过
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:372
  • 最近打卡:2025-05-01 10:53:48

12

主题

125

回帖

1685

积分

金牌会员

积分
1685
发表于 2024-10-16 21:02:34 | 显示全部楼层
这个太简单了   你首先得弄清楚触摸的原理与控制写法     其次弄个全局变量记录是否触摸   如果触摸触发了开启定时查询状态   检测到没触摸就停止计时    通过触摸时间长短就能区别长按短按了
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 04:13 , Processed in 0.121490 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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