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

前言:

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


方案 1:

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


方案 2:

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


方案 3:

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


任务调度框架代码

。。。

结语:

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

相关推荐
三佛科技-134163842128 分钟前
车规级单片机FT32A072RBBT3、FT32A103XX系列分析
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
mjhcsp14 分钟前
透彻背包DP:从DFS暴力搜索到动态规划的逐步推导
算法·深度优先·动态规划
电商API&Tina14 分钟前
Python请求淘宝商品评论API接口全指南||taobao评论API
java·开发语言·数据库·python·json·php
学嵌入式的小杨同学17 分钟前
【嵌入式 C 语言实战】交互式栈管理系统:从功能实现到用户交互全解析
c语言·开发语言·arm开发·数据结构·c++·算法·链表
多米Domi01120 分钟前
0x3f 第40天 setnx的分布式锁和redission,写了一天项目书,光背了会儿八股,回溯(单词搜索)
数据结构·算法·leetcode
乐迪信息20 分钟前
乐迪信息解决港口船型识别难题!AI算法盒子检测船舶类型
人工智能·算法·智能电视
小杍随笔34 分钟前
【Rust Cargo 目录迁移到 D 盘:不改变安装路径和环境变量的终极方案】
开发语言·后端·rust
梭七y36 分钟前
【力扣hot100题】(151)课程表
算法·leetcode·哈希算法
华普微HOPERF1 小时前
如何通过Sub-GHz无线收发单片机,高效搭建低功耗广域网络?
网络·单片机·嵌入式硬件
Henry Zhu1231 小时前
Qt Model/View架构详解(五):综合实战项目
开发语言·qt·架构