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

2019-12-09 20:01发布

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

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

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

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

还请各位大佬不吝指教,感谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
99条回答
zyw19987
2019-12-18 05:08
MurphyZhao 发表于 2019-9-2 09:09
嗯,后面我镜像一份 源码包 过来

低功耗需要结合自己的低功耗特性,如果是 STM32 没有使用低功耗框架的 ...

没看到源码。
低功耗的想法是,按键定时扫描,所以定时期间MCU是可能休眠的。这样低功耗的重点不是按键,是定时休眠的定时器管理才是难点。
对于低功耗的产品需要所有外设模块配合这种休眠管理模式。
期待你的佳作,一定要真正做过批量生产的低功耗产品才能体会。

一周热门 更多>