|
我按安富莱_STM32-V4开发板_FreeRTOS教程 的第8章例程对STM32f103c8t6进行移植打印任务执行情况时,对函数vTaskGetRunTimeStats((char *)&pcWriteBuffer);进行调用,但是串口打印出来的信息不正确。
我改过的任务为:
int App_LED_Start(void)
{
xTaskCreate(vTaskPrintf,"rint Task",512,NULL,1,NULL);
xTaskCreate(App_LED_Task,"LED Task",512,NULL,2,NULL);
xTaskCreate(App_LED1_Task,"LED1 Task",512,NULL,3,NULL);
return 0;
}
static void vTaskPrintf(void *pvParameters)
{
uint8_t pcWriteBuffer[512];
while(1)
{
printf("=================================================\r\n");
printf("\r\n");
printf("任务名 任务状态 优先级 剩余栈 任务序号\r\n");
vTaskList((char *)&pcWriteBuffer);
printf("%s\r\n", pcWriteBuffer);
printf("\r\n任务名 运行计数 使用率\r\n");
vTaskGetRunTimeStats((char *)&pcWriteBuffer);
printf("%s\r\n", pcWriteBuffer);
vTaskDelay(500);
}
}
实际打印出来的效果为:
=================================================
任务名 任务状态 优先级 剩余栈 任务序号
Print Task R 1 311 1
IDLE R 0 118 4
LED Task B 2 490 2
LED1 Task B 3 490 3
任务名 运行计数 使用率
=================================================
任务名 任务状态 优先级 剩余栈 任务序号
Print Task R 1 311 1
IDLE R 0 118 4
LED Task B 2 490 2
LED1 Task B 3 490 3
任务名 运行计数 使用率
附图:
哪位大神能帮忙解答一下为什么vTaskGetRunTimeStats((char *)&pcWriteBuffer);调用不起作用呢?谢谢! |
|