分享一个不错的【程序框架】+【按键状态机】+【LED状态机】程序

2019-07-20 22:17发布

本帖最后由 流年丶 于 2019-7-7 20:52 编辑

游客,如果您要查看本帖隐藏内容请回复
用了几年的前后台程序框架,稳定可靠,保证每次执行的任务都为最高优先级任务,楼下会对该程序框架做一些说明。
按键状态机:支持短按,长按,双击处理,程序简洁,简单易懂。
LED状态机:支持各个频率的LED闪烁,常亮,常暗操作。
注:该程序是从 基于2G通讯项目中截取下来的两个模块,项目源码不好分享,有兴趣可以加我Q:842936992
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//引用请注明出处,有问题可在本帖中提出讨论,也可加我Q一起交流探讨



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
流年丶
2019-07-21 00:36
本系统采用不可剥夺型内核,即当某个任务在执行时,必须等到当前任务执行完毕后,才交出CPU的使用权。每个任务被赋予不同的优先级,本系统中共有0~63个优先级,由8位变量MainTask和8位的数组SubTask[8]共同管理。当主任务MainTask的第0位置位,则表明SubTask[0]非零,主任务0下存在被激活的子任务,若SubTask[0] = 0x01,则表明优先级为0的任务已被激活,该任务具有最高的优先级。MainTask、SubTask[8]与优先级的关系如图所示。
当主任务MainTask的第7位置位,则表明主任务7下存在被激活的子任务,若SubTask[7] = 0x80,则表明优先级为63的任务已被激活,该任务具有最低的优先级。

一周热门 更多>