ARM 单片机裸机任务调度框架

前言:

在没有使用操作系统的情况下,一个合理的裸机任务调度方式,可以更好的提供数据的处理,和用户体验,有多种任务调度的方式。


方案 1:

从上到下的任务调度方式,C语言程序的代码是在main函数中从上到下一个个的进行调度的,这种任务调度方式在实际的开发中并不提倡,所有业务模块全部在main函数中哈while死循环中放,实际上这种方案并不值得提倡。


方案 2:

按需分配的任务调度方式,这种方案是使用定时器中断和时间片分配机制实现的,在while循环中每一个业务功能模块对应一个时间片的标志,如果这些时间片标志位为true,那么就会执行调度对应的业务功能模块。


方案 3:

第三种程序任务调度框架,和业务相关的代码仅仅出现在数组初始化的函数中,业务功能函数的地址等保存在函数指针变量中。


任务调度框架代码

。。。

结语:

仅介绍任务调度框架,具体使用第三种的任务调度方式,参考郭天祥老师ARM32教程仅用于学习参考。

相关推荐
小小晓.1 分钟前
C++小白记:vector
开发语言·c++·算法
tkevinjd3 分钟前
力扣72-编辑距离
算法·leetcode·职场和发展
小刘学技术12 分钟前
AI人工智能决策树分类器:原理、实现与应用
开发语言·人工智能·python·算法·决策树·机器学习·数据挖掘
脱胎换骨-军哥13 分钟前
C++ 嵌入式编程实例:从寄存器操作到底层驱动开发
开发语言·c++·驱动开发
&Hello Code25 分钟前
MCU项目软件分层设计规范--以 MCU 项目为例
单片机·嵌入式硬件
鱼子星_34 分钟前
【C++】vector
开发语言·c++·笔记·stl
double_eggm35 分钟前
uniapp.3
开发语言·前端·javascript
白玉cfc37 分钟前
熟悉Objective-C
开发语言·ios·objective-c
syagain_zsx42 分钟前
库制作与原理 · 链接知识笔记
c语言·c++·笔记·动态库·静态库
caimouse1 小时前
mm学习笔记_04:VAD树算法与地址空间分配
笔记·学习·算法·reactos