回馈开源----史上最强按键驱动

2019-12-09 20:01发布

大家可曾听说过经典的3行代码按键扫描算法?
这个按键扫描算法我一直有在用,但都是零零散散的代码,去年在做项目的时候,为了考虑通用性,对其进行了进一步封装。
该按键驱动使用事件机制上报按键状态,并解耦具体的按键硬件结构,理论上可以支持轻触按键和自锁按键,支持无限按键数量,一次扫描即可获取所有的按键状态。

- 支持单击、双击、长按
- 自动消抖
- 可灵活配置中断以及适配低功耗场景
- 支持按需组合按键
- 可扩展支持矩阵键盘
- C99 编写,支持裸机和任意 OS

源代码资源地址:https://github.com/murphyzhao/FlexibleButton

源代码中的按键扫描部分算法来自网络,仅有三行代码,非常精辟,值得学习,喜欢的朋友,不妨尝试用到自己的项目中,开源免费。算法来自网络,软件包也回馈网络,希望大家不再重复造轮子,以事半功倍。

还请各位大佬不吝指教,感谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
johnlj
1楼-- · 2019-12-11 22:01
 精彩回答 2  元偷偷看……
lnskngdc
2楼-- · 2019-12-12 02:45
记得坛子里有个状态机的按键扫描也很经典,我一直在用
Wangwy
3楼-- · 2019-12-12 05:41
谢谢分享,经典的都值得学习
fsmcu
4楼-- · 2019-12-12 10:35
谢谢分享,那3行一直视为经典语句,一直都在使用,不知道这个驱动有没有提供类似键盘的机打输出事件,就是持续按下期间,固定机打间隔时间持续输出按下事件
wye11083
5楼-- · 2019-12-12 14:00
zyw19987 发表于 2019-9-1 05:17
还是希望莫大这有源码,不知道低功耗是怎么实现,特别是长按事件。

长按估计比较难了,因为通常情况下键盘命令有按下、弹起、按住(自动重复)。
BigWolf
6楼-- · 2019-12-12 17:35
 精彩回答 2  元偷偷看……

一周热门 更多>