FreeRTOS查看任務運行時間信息統計函數vTaskGetRunTimeStats

  1. 使用前準備工作
    將宏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);

}
  1. 調用vTaskGetRunTimeStats()
vTaskGetRunTimeStats(PrintBuffer);
//PrintBuffer爲一個字符數組,可以打印出來。

注意:PrintBuffer是用來存儲信息的,最好不要在任務函數中定義,因爲局部變量會消耗很大一部分堆棧空間,可以定義爲全局變量,調試成功後可以刪除。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章