FreeRTOS-任务查询及延时函数
下面是一些FreeRTOS任务状态查询及运行时间统计的API函数
uxTaskPriorityGet ( ) ;
vTaskPrioritySet ( ) ;
uxTaskGetNumberOfTasks ( ) ;
uxTaskGetSystemState ( ) ;
vTaskGetInfo ( ) ;
xTaskGetCurrentTaskHandle ( ) ;
xTaskGetHandle ( ) ;
uxTaskGetStackHighWaterMark ( ) ;
eTaskGetState ( ) ;
vTaskList ( ) ;
vTaskGetRunTimeStats ( ) ;
# define INCLUDE_uxTaskPriorityGet 1
UBaseType_t uxTaskPriorityGet ( const TaskHandle_t xTask) ;
# define INCLUDE_vTaskPrioritySet 1
void vTaskPrioritySet ( TaskHandle_t xTask, UBaseType_t uxNewPriority) ;
UBaseType_t uxTaskGetNumberOfTasks ( ) ;
UBaseType_t uxTaskGetSystemState ( TaskStatus_t* const pxTaskStatusArray, const UBaseType_t uxArraySize, configRUN_TIME_COUNTER_TYPE* const pulTotalRunTime) ;
# define configUSE_TRACE_FACILITY 1
void vTaskGetInfo ( TaskHandle_t xTask, TaskStatus_t* pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState) ;
# define INCLUDE_xTaskGetCurrentTaskHandle 1
TaskHandle_t xTaskGetCurrentTaskHandle ( )
# define INCLUDE_xTaskGetHandle 1
TaskHandle_t xTaskGetHandle ( const char * pcNameToQuery) ;
获取任务的任务栈历史剩余最小值 当你获取到剩余最小值很小时,说明快要溢出,需要加大
# define INCLUDE_uxTaskGetStackHighWaterMark 1
UBaseType_t uxTaskGetStackHighWaterMark ( TaskHandle_t xTask) ;
# define INCLUDE_eTaskGetState 1
eTaskState eTaskGetState ( TaskHandle_t xTask)
以表格形式获取任务状态信息 主要获取的内容有:Name (任务名)、State (任务状态信息BRSD)、Priority (任务优先级)、Stack (堆栈历史最小剩余大小)、Num (任务编号)
# define configUSE_TRACE_FACILITY 1 ;
# define config_STATS_FORMATTING_FUNCTIONS 1 ;
void vTaskList ( char * pcWriteBuffer) ;
统计任务运行时间 会获取到任务的Task(任务名称)、Abs Time(任务实际运行的总时间)、%Time(占总时间的百分比)
# define configGENERATE_RUN_TIME_STAT 1 ;
# define portCONFIGURE_TIMER_FOR_RUNTIME_STATE ( ) function;
# define portGET_RUN_TIME_COUNTER_VALUE ( ) function
# define configUSE_STATS_FORMATTING_FUNCTIONS 1 ;
void vTaskGetRunTimeStats ( char * pcWriteBuffer) ;
vTaskDelay ( ) ;
xTaskDelayUntil ( ) ;