STM32
直播中

徐磊

7年用户 927经验值
私信 关注
[问答]

如何去实现按键功能代码呢

按键代码实现了哪些功能呢?
如何去实现按键功能代码呢?


回帖(1)

李悛

2021-11-30 14:30:29
最近做一些项目,对按键操作要求比较复杂,要实现按键按下、弹起、组合、长按等不同状态的响应,之前写过一篇按键实现的文章,现在把代码重新优化了一下,分享给大家,代码实现了下面功能:



  • 按下:(按键被按下去,但没有松开)
  • 弹起 : (松开按键)
  • 重复:(按键被一直按住,键值重复出现,像电脑键盘一样,按住一个字符不放它就能一直输入)
  • 长按:(按住一定时间不松开)
  • 按下时长:(记录按键从按下到弹起的时间)**
    采用时间片轮询方式扫描按键动作,带消抖功能,运行稳定,可移植性好,不同平台,只要简单修改硬件相关的部分。

这个按键实现方法可以满足绝大部分应用的需求,后面有示例讲解
先上代码一堵为快,程序不难,主要部分都有注释,代码有点长,但是可移植性好,可读性强,有不懂的可以留言交流
H文件

/************************************************************
Copyright (C), 2013-2020
@FileName: key.h
@Author  : 祥子  QQ:570525287
@Version : 3.0
@Date    : 2020-10-23
@Description: 按键扫描
@Function List:
@History    :

更多回帖

发帖
×
20
完善资料,
赚取积分