|
发表于 2019-10-10 17:00:53
|
显示全部楼层
可以的,按键处理程序负责时间横向滤波消除抖动,然后获取键值以及键值序列、前向差分、后向差分生成按下和释放动作事件,通过全同判定和计数获取长按状态。
后面的程序只要读取状态、事件标志变量就可以了。有个要求就是必须像你的程序这样,做成同步处理的结构,而且最好通过选通开关等待系统滴答做精确的工作周期定时,就类似与PLC的端口扫描了。要求是所有程序必须在一个滴答周期内执行完成,否则影响定时准确性。
规模不大的单片机程序(不超过1000行代码),在不需要使用实时系统的时候我都是这么做的,很准确很稳定。配合状态机使用非常棒。 |
|