1.找到FreeRTOSConfig.h配置文件
添加宏定義
#define INCLUDE_uxTaskGetStackHighWaterMark 1
2.定義一個變量用來存放剩餘堆棧大小值
UBaseType_t sizeFree;
3.在任務中添加獲取剩餘堆棧大小的函數
該函數有一個參數,傳遞的是要查看的任務的句柄而非任務名,通過調試或者打印輸出即可得到所要查看任務大概剩餘的堆棧的大小。
static void vTaskTASK3(void *pvParameters)
{
for(;;)
{
sizeFree = uxTaskGetStackHighWaterMark(xHandleTaskTASK1);
osDelay(300);
}
}
由於FreeRTOS分配任務堆棧的大小是按照字(word)來分配的,查看的堆棧剩餘大小也是以字(word)爲單位,1字(1word)=4字節(byte)。