按键状态机高移植性方案

状态机的按键,移植性强、逻辑清晰,写嵌入式真是省心不少。

用位图的方式管理键值状态,32 位的 key_down被分成了短按、长按、连击这些区域,判断逻辑全靠状态切换搞定,起来挺灵活的。

绑定方式也蛮巧,0-3 位的预留区域做了个“标记绑定”,按键事件直接映射,不用满地if else判断,清爽。

短按和连击的判断都靠状态跳转,4-15 位按区分工明确,省了不少临界时间判断的烦恼。嗯,逻辑写好了,不管是跑在 STM32 还是其他 MCU 上都挺稳的。

要说注意的点,最好给每种事件加个消抖,不然真机上一抖动就乱套了。还有就是别太贪心一次太多按键,状态位用完就爆了。

如果你也有多种按键需求,或者搞状态管理有点头疼,可以看看这个方式。配合状态模式的实现,效果更丝滑。

rar 文件大小:67.81KB