STM32理论 —— μCOS-Ⅲ(新)

文章目录

  • [1. 任务调度器](#1. 任务调度器)

    • [1.1 抢占式调度](#1.1 抢占式调度)
  • μCos-Ⅲ全称是Micro C OS Ⅲ,由Micriμm 公司发布的一个基于C 语言编写的第三代小型实时操作系统(RTOS);

  • RTOS 与裸机相比最大的优势在于多任务管理实时性,它提供了多任务管理和任务间通信的功能;

  • μCOS-Ⅲ与FreeRTOS的区别:μCOS-III 的源码可读性比较强,代码写的非常规范。国内资料较多;

  • RTOS 的任务调度结构 :如下图,高优先级任务能抢占低优先级任务,而中断能打断任意任务,每个任务都有自己的任务堆栈,用于保存任务的寄存器值;除非高优先级任务挂起,否则在一直运行高优先级任务过程中,低优先级任务无法被运行;

  • μCos-Ⅲ官方文档https://micrium.atlassian.net/wiki/spaceshttps://docs.silabs.com/micrium/latest/micrium-common-api/

1. 任务调度器


任务调度器就是决定当前执行哪个任务;

μCos-Ⅲ 支持2种任务调度方式

  1. 抢占式调度:针对优先级不同的任务,优先级高的任务可抢占优先级低的任务;
  2. 时间片调度:针对优先级相同的任务,当多个任务优先级相同且就绪时,调度器会根据用户设置的时间片轮流运行这些任务。时间片以一次系统时钟节拍为单位(滴答定时器的中断频率),µC/OS-III 默认设置的任务时间片为 100,则 µC/OS-III 会在当前任务运行 100 次系统时钟节拍的时间后,切换到另一个相同任务优先级的任务中运行。

1.1 抢占式调度

  1. 创建3个任务;
  2. 任务1、任务2、任务3的优先级分别设置为3、2、1(数字越小,优先级越高);

参考:

  • 正点原子;
相关推荐
炸膛坦客34 分钟前
单片机/C语言八股:(八)指针函数 和 函数指针
c语言·单片机
CHANG_THE_WORLD1 小时前
glog3 捕获Windows异常崩溃信号
windows·stm32·单片机
易水寒陈1 小时前
单片机的命令模式
单片机·命令模式
集芯微电科技有限公司1 小时前
700V/1.6A单通道GaN FET增强型驱动器具有零反向恢复损耗
人工智能·单片机·嵌入式硬件·深度学习·神经网络·机器学习·生成对抗网络
承前智1 小时前
Arduino1.8.19与stm32+ESP32的geek卸载及环境安装
stm32·单片机·嵌入式硬件
全栈游侠1 小时前
STM32F103XX 05-时钟配置分析与自举程序
stm32·单片机·嵌入式硬件
学嵌入式的小杨同学1 小时前
STM32 入门封神之路(四):GPIO 实战 + 寄存器深度拆解 ——LED 控制 + 按键检测全流程(含位操作 + 面试题)
stm32·单片机·嵌入式硬件·硬件架构·硬件工程·智能硬件·嵌入式实时数据库
撩妹小狗2 小时前
定时器PWM输出功能的使用
单片机·嵌入式硬件
xu_wenming2 小时前
跨文件数据共享模式:通过静态全局变量与访问函数结合
嵌入式硬件·mcu·物联网·设计规范
学嵌入式的小杨同学4 小时前
STM32 进阶封神之路(七):中断核心原理 + NVIC 深度解析 —— 从概念到寄存器配置(面试重点)
stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb·嵌入式实时数据库