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

前言:

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


方案 1:

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


方案 2:

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


方案 3:

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


任务调度框架代码

。。。

结语:

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

相关推荐
码力码力我爱你4 分钟前
Harmony OS C++实战
开发语言·c++
茄子凉心7 分钟前
android 开机启动App
android·java·开发语言
低客的黑调15 分钟前
了解JVM 结构和运行机制,从小白编程Java 大佬
java·linux·开发语言
想唱rap16 分钟前
C++ map和set
linux·运维·服务器·开发语言·c++·算法
FuckPatience19 分钟前
C# 实现元素索引由1开始的链表
开发语言·链表·c#
Halo_tjn32 分钟前
Java 相关资料
java·开发语言·计算机
!停1 小时前
函数递归的应用
c语言
丸码1 小时前
Java异常体系全解析
java·开发语言
q***72191 小时前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
k***82511 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python