FreeRTOS(七)——任务查询和信息统计API函数

任务相关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() 获取线程本地存储指针

这里写图片描述

任务相关API函数(官网)

信息查询实验

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;
}

猜你喜欢

转载自blog.csdn.net/qq_30650153/article/details/81587795
今日推荐