STM32 FreeRTOS时间片调度---FreeRTOS任务相关API函数---FreeRTOS时间管理

目录

时间片调度简介

FreeRTOS任务相关API函数介绍

延时函数介绍


时间片调度简介

在FreeRTOS中,同等优先级的任务会轮流分享相同的CPU时间,这个时间被称为时间片。在这里,一个时间片的长度等同于SysTick中断的周期。

FreeRTOS任务相关API函数介绍

任务相关的API主要如下:

|-------------------------------|------------------|
| 函数 | 描述 |
| uxTaskPriorityGet() | 获取任务优先级 |
| vTaskPrioritySet() | 设置任务优先级 |
| uxTaskGetNumberOfTasks() | 获取系统中任务的数量 |
| uxTaskGetSystemState() | 获取所有任务状态信息 |
| vTaskGetInfo() | 获取指定单个的任务信息 |
| xTaskGetCurrentTaskHandle() | 获取当前任务的任务句柄 |
| xTaskGetHandle() | 根据任务名获取该任务的任务句柄 |
| uxTaskGetStackHighWaterMark() | 获取任务的任务栈历史剩余最小值 |
| eTaskGetState() | 获取任务状态 |
| vTaskList() | 以"表格"形式获取所有任务的信息 |
| vTaskGetRunTimeStats() | 获取任务的运行时间 |

官网:---https://freertos.org/zh-cn-cmn-s/a00106.html

延时函数介绍

  • vTaskDelay():相对延时。从执行vTaskDelay()函数开始,直到指定延时的时间结束。
  • xTaskDelayUntil():绝对延时。将整个任务的运行周期视为一个整体,适用于需要以固定频率定期执行的任务。------周期性执行。

假设有一个定时器,每隔1秒触发一次,希望在每次触发时执行某个任务。如果使用 vTaskDelay 来实现,那么你只能实现任务每秒执行一次,而不能确保任务在每秒的开始时刻执行。但如果你使用 xTaskDelayUntil,你可以指定任务在每秒的开始时刻执行,即使任务执行的时间不同。

相关推荐
Tony小周5 小时前
HC32L136K8TA单片机输出互为反相双路PWM
单片机·嵌入式硬件
DarrenPig5 小时前
NEC纪实 :2024全国机器人大赛 Robocon 常州工学院团队首战国三
人工智能·嵌入式硬件·机器人·开源·开放原子·智能硬件·robocon
甜甜的大香瓜6 小时前
【CC2640R2F】香瓜CC2640R2F之SPI读写W25Q80
单片机
易板7 小时前
推荐单通道有刷直流电机驱动芯片AT8236
单片机·嵌入式硬件·h桥·直流电机驱动
嵌入式小强工作室7 小时前
STM32的DMA作用
stm32·单片机·嵌入式硬件
半夜吃早餐7 小时前
【STM32HAL-----GPIO】
单片机·嵌入式硬件
黄金右肾7 小时前
STM32网络通讯之LWIP下载移植项目设计(十六)
stm32·嵌入式软件·网络通讯·lwip移植
code_snow8 小时前
STM32--定时器输出pwm知识点_stm32 pwm-CSDN博客
stm32·单片机·嵌入式硬件
G2突破手2599 小时前
以太网详解(五)GMII、RGMII、SGMII接口时序约束(Quartus 平台)
嵌入式硬件·fpga开发·verilog