FreeRTOS查看任务运行时间信息统计函数vTaskGetRunTimeStats

mac2022-07-05  30

使用前准备工作 将宏configGENERATE_RUN_TIME_STATS置为1。 #define configGENERATE_RUN_TIME_STATS 1 //为1时启用运行时间统计功能 定义两个宏,第一个是任务运行统计时间的时基初始化,第二个是计数的。 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() ConfigureTimeForRunTimeStats() #define portGET_RUN_TIME_COUNTER_VALUE() FreeRTOSRunTimeTicks

时基必须快滴答定时器20倍

void ConfigureTimeForRunTimeStats(void) { FreeRTOSRunTimeTicks = 0; MX_TIM3_Init(); //20khz } void TIM3_IRQHandler(void) //中端服务函数 { FreeRTOSRunTimeTicks++; HAL_TIM_IRQHandler(&htim3); } 调用vTaskGetRunTimeStats() vTaskGetRunTimeStats(PrintBuffer); //PrintBuffer为一个字符数组,可以打印出来。

注意:PrintBuffer是用来存储信息的,最好不要在任务函数中定义,因为局部变量会消耗很大一部分堆栈空间,可以定义为全局变量,调试成功后可以删除。

最新回复(0)