目录
(1)函数xTaskGetCurrentTaskHandle()
(4)函数uxTaskGetStackHighWaterMark()
FreeRTOS中除了用于任务管理的一些RTOS函数外,还有一些API函数(也叫任务管理工具函数),用于操作任务或取任务信息。一些内容需要参考本文作者写的其他文章,
参考文章:细说STM32单片机FreeRTOS任务管理相关函数及多任务编程的实现方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/147139017?spm=1011.2415.3001.5331
一、FreeRTOS任务管理API函数
1、任务管理API函数
分组 |
FreeRTOS函数 |
函数功能 |
获取 任务 句柄 |
xTaskGetCurrentTaskHandle() |
获取当前任务的句柄 |
xTaskGetIdleTaskHandle() |
获取空闲任务的句柄 |
|
xTaskGetHandle() |
根据任务名称返回任务句柄,运行比较慢 |
|
单个 任务 的信 息 |
uxTaskPriorityGet() |
获取一个任务的优先级 |
uxTaskPriorityGetFromISR() |
函数uxTaskPriorityGet()的ISR版本 |
|
vTaskPrioritySet() |
设置一个任务的优先级,可以在运行过程中改变一个任务的优先级 |
|
vTaskGetInfo() |
返回一个任务的信息,包括状态信息、栈空间信息等 |
|
pcTaskGetName() |
根据任务句柄返回任务的名称,参数为NULL时,返回任务自己的名称 |
|
uxTaskGetStackHighWaterMark() |
返回一个任务的栈空间的高水位值,即最少可用空间。返回值越小,表明任务的栈空间越容易溢出。高水位值的单位是字 |
|
eTaskGetState() |
返回一个任务的当前运行状态,返回值是枚举类型eTaskState |
|
内核 信息 |
uxTaskGetNumberOfTasks() |
返回内核管理的所有任务的个数,包括就绪的、阻塞的、挂起的任务,也包括虽然删除了,但还没有在空闲任务里释放的任务 |
vTaskList() |
创建一个列表,显示所有任务的信息。此函数会禁止所有中断,需要使用sprintf()函数,所以一般只用于调试阶段 |
|
uxTaskGetSystemState() |
获取系统中所有任务的任务状态,包括每个任务的句柄、任务名称、优先级等信息 |
|
vTaskGetRunTimeStats() |
获取每个任务的运行时间统计 |
|
xTaskGetTickCount() |
返回嘀嗒信号当前计数值 |
|
xTaskGetTickCountFromISR() |
函数xTaskGetTickCount()的ISR版本 |
|
xTaskGetSchedulerState() |
返回任务调度器的运行状态 |
|
其他 |
vTaskSetApplicationTaskTag() |