任务相关API函数预览
函数 | 描述 |
---|---|
uxTaskPriorityGet() | 查询某个任务的优先级 |
vTaskPrioritySet() | 改变某个函数的优先级 |
uxTaskGetSystemState() | 获取系统中任务状态 |
vTaskGetInfo() | 获取某个任务信息 |
xTaskGetApplicationTaskTag() | 获取某个任务的标签(Tag)值 |
xTaskGetCurruntTaskHandle() | 获取当前正在运行的任务的任务句柄 |
uxTaskGetHandle() | 根据任务名字查找某个任务的句柄 |
uxTaskGetIdleTaskHandle() | 获取空闲任务的任务句柄 |
uxTaskGetStackHighWaterMark() | 获取任务的堆栈的历史剩余最小值,FreeRTOS中叫做“高水位线” |
eTaskGetState() | 获取某个任务的状态,这个状态是eTaskState类型 |
pcTaskGetName() | 获取某个任务的名字 |
xTaskGetTickCount() | 获取系统时间计数器值 |
xTaskGetTickCountFromISR() | 在中断服务函数中获取系统时间计数器值 |
xTaskGetsSchedulerState() | 获取任务调度器的状态,开启或未开启 |
uxTaskGetNumberOfTasks() | 获取当前系统中存在的任务数量 |
vTaskList() | 以一种表格的形式输出当前系统中所有任务的详细信息 |
vTaskGetRunTimeState() | 获每个任务的运行时间 |
vTaskSetApplicationTaskTag() | 设置任务标签(Tag)值 |
SetThreadLocalStorgePointer() | 设置线程本地存储指针 |
GetThreadLocalStorgePointer() | 获取线程本地存储指针 |
信息查询实验
uxTaskPriorityGet()
函数原型:
UBaseType_t uxTaskPriorityGet(TaskHandle_t xTask)
参数:
xTask——要查找的任务的任务句柄
返回值:获取到的对应任务的优先级
static void getPriorityTask(__attribute__((unused)) void *parameters)
{
UBaseType_t priority;
priority = uxTaskPriorityGet(taskFileTransferHandle);
printf("taskFileTransferHandle priority is %d \n",priority);
while(1)
{
vTaskDelay(1000 / portTICK_RATE_MS);
}
}
int32_t getTaskPriority()
{
xTaskCreate(getPriorityTask,
"getPriorityTask",
STACK_SIZE_BYTES / 4,
NULL,
TASK_PRIORITY,
&getPriorityTaskHandle);
return 0;
}