任务相关的API函数-eTaskGetState

eTaskGetState

此函数用于查询某个任务的运行状态,比如:运行态,阻塞态,挂起态,就绪态等,返回值是个枚举类型.

要使用函数宏INCLUDE_eTaskGetState必须为1,此宏在FreeRTOS.h 第202行(v9.0)

函数原型如下:

eTaskState eTaskGetState( TaskHandle_t xTask )


eTaskState TaskState;
char TaskInfo[10];
printf("/***************第三步:函数eTaskGetState()的使用************/\r\n");
TaskHandle=xTaskGetHandle("query_task"); //根据任务名获取任务句柄
TaskState=eTaskGetState(TaskHandle); //获取query_task任务的任务状态
memset(TaskInfo,0,10); //数组清零
switch((int)TaskState)
{
case 0:sprintf(TaskInfo,"Running");break;
case 1:sprintf(TaskInfo,"Ready");break;
case 2:sprintf(TaskInfo,"Suspend");break;
case 3:sprintf(TaskInfo,"Delete");break;
case 4:sprintf(TaskInfo,"Invalid");break;
default:break;
}
printf("任务状态值:%d,对应的状态为:%s\r\n",TaskState,TaskInfo);



你可能感兴趣的:(FreeRTOS)