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,你可以指定任务在每秒的开始时刻执行,即使任务执行的时间不同。

相关推荐
单片机系统设计1 小时前
基于STM32的智能台灯系统/智能书桌
stm32·单片机·嵌入式硬件·毕业设计·智能家居
F133168929571 小时前
5030A 芯片 24V 转 5V 15A 大电流快充选型
网络·单片机·嵌入式硬件·物联网·汽车
恒锐丰小吕2 小时前
无锡黑锋 HF4004 低噪声电荷泵DC-DC转换器技术解析
嵌入式硬件·硬件工程
星一工作室2 小时前
STM32项目分享:基于单片机的智能宠物玩具的设计
stm32·单片机·嵌入式硬件
up向上up2 小时前
基于51单片机数字频率计仿真设计
单片机·嵌入式硬件·51单片机
SystickInt3 小时前
32 RTC实时时钟-独立定时器
stm32·单片机·嵌入式硬件
三佛科技-187366133974 小时前
智能豆芽机单片机方案开发
单片机·嵌入式硬件
就是蠢啊4 小时前
51单片机——ADC数模转换实验
单片机·嵌入式硬件·51单片机
迅为电子5 小时前
释放多屏潜能:迅为RK3588开发板Android多屏同显开发完全指南
嵌入式硬件·rk3588开发板·多屏同显开发
李斯维5 小时前
MBR 和 GPT 区别
windows·嵌入式硬件·bootstrap·计算机外设