用STM32有段时间,今天总结下 写了一个自以为的架构(欢迎拍砖)
说明:
调度任务 :根据任务的优先级 总是执行优先级最高的任务 调度实现用前导零汇编实现
任务 :要实现的功能 比如处理按键 触摸屏在一起作为一个任务 处理LCD作为一个任务 通信作为一个任务
模块 :具体功能函数 调用底层驱动实现 比如串口
主要机制是:无论是模块 还是任务 中断函数 时间片执行函数 都发消息出去
主调度任务调度任务去查询本任务的消息队列 如果有消息就调用相应函数去处理消息
两大主线: 任务和时间片执行函数 任务主要是实时性要求不高的任务 时间片执行函数在中断中执行 实时性要求高
本软件架构实现了按键模块 支持按下 弹起 长按 连发(按下超过一定时间 快速发按下消息) 屏蔽了多个按键都按下的消息
支持调试功能 密码113(可以自己修改)
在此深深感谢那些无私帮助我的人!
如果你看到了这份简单的代码 如果有任何建议和意见都可以联系我 经测试可以使用
里面有很多可以修改的部分 你可以根据自己的实际情况修改 加速自己的项目进度
本人水平有限 如有错误请见谅 只希望不耽误你的时间
QQ:347828751
|