怎么能把按键处理玩出花?按键处理作为一个基础入门实验,大部分人在刚接触单片机的时候都会自己写一份,开始我们利用延时消抖,后来发现在大的工程当中,延时消抖在没有加入操作系统来调度的情况下,无疑是一种很浪费资源的做法。再后来我们开了定时器去扫描,确实比较靠谱,但是一但设计到复杂的组合按键,长按短按双击等,就需要我们去费很大的功夫去进行逻辑判断。
在网上看到了很多很棒的方法,即把底层寄存器的配置抽离出来,采用状态机思想去进行逻辑判断,可以有效地实现各种复杂的按键处理。借鉴这种思想,完成了自己的按键处理函数。这里直接上代码,再讲解。
.h 头文件:
#ifndef __KEY_H
#define __
2022-03-20 22:53:00
201KB
状态机
1