本人基于野火指南者开发板,使用FreeRTOS,创建按键任务。
在按键任务里面每隔20毫秒扫描一下按键。包括独立按键,矩阵按键(由于本人没有矩阵按键,故没有测试)。
按键40毫秒以上为短按、1秒以上则为长按、3秒以上则为一直按。且长按10秒以上则报错(这里可以报警,需要故障维护之类的)。
按键任务代码如下,此处截图,如看源码请到我的GitCODE里查看。
另外独立按键是可以加入外部中断进行处理的,这里先用笨方法”传统扫描大法“。
下一步会试着将外部中断加入独立按键里面。但是矩阵按键配合外部中断,我认为很少见,如大家有参考的例子,可以留言交流下。