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

前言:

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


方案 1:

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


方案 2:

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


方案 3:

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


任务调度框架代码

。。。

结语:

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

相关推荐
Misnearch2 分钟前
Leetcode热题100
算法·leetcode·职场和发展
不脱发的程序猿8 分钟前
DLL文件缺失怎么办?
单片机·嵌入式硬件·嵌入式
十月的皮皮8 分钟前
C语言学习笔记20260614-数组奇偶数调整3种方法
c语言·笔记·学习
星辰_mya8 分钟前
限流、漏斗桶和令牌桶的区别
java·开发语言·面试·架构·高并发
Shadow(⊙o⊙)9 分钟前
信号1.0,信号概念、signal()处理、前后台进程、闹钟设置、初识信号三张表。
linux·运维·服务器·开发语言·c++
(Charon)15 分钟前
【C++ 面试高频:STL 容器 vector、map、unordered_map 总结】
开发语言·c++·面试
我是一颗柠檬15 分钟前
【Java项目技术亮点】滑动窗口限流算法
java·开发语言·算法
无限码力18 分钟前
华为非AI方向笔试真题 - 楼内救人
算法·华为·华为非ai方向笔试真题·华为笔试真题·华为算法题
一切皆是因缘际会19 分钟前
隐层表征解构:LLM感知式幻觉稀疏成因
算法·数学建模·ai·架构
Irissgwe19 分钟前
二叉树进阶
数据结构·c++·算法·c·二叉搜索树