vTaskList 使用
vTaskList 是 freeRTOS 提供的接口, 可用来查看每个 task 信息, ESP8266 上测试程序如下:
注意:
编译前需使能 FreeRTOSConfig.h 中下面两个宏:
#define configUSE_TRACE_FACILITY 1
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
测试代码如下:
#include <stdio.h>
#include <stdlib.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
void test_task(void* param)
{
char* pbuffer = (char*) malloc(2048);
memset(pbuffer, 0x0, 2048);
while(1) {
printf("-------------------- heap:%u --------------------------\r\n", esp_get_free_heap_size());
vTaskList(pbuffer);
printf("%s", pbuffer);
printf("----------------------------------------------\r\n");
vTaskDelay(3000 / portTICK_RATE_MS);
}
free(pbuffer);
}
xTaskCreate(test_task, "test_task", 1024, NULL, 5, NULL);
</