FreeRTOS任務執行時間統計串列埠輸出顯示

2021-10-10 09:34:38 字數 1959 閱讀 2523

1. 開啟乙個50us定時器(假設freertos 1ms中斷一次)

開啟中斷

中斷優先順序為1,比較高

2. 實際**

#define	configuse_stats_formatting_functions		1

#define configgenerate_run_time_stats 1

#define portconfigure_timer_for_run_time_stats() configuretimeforruntimestats()

#define portget_run_time_counter_value() freertosruntimeticks

#define query_task_prio				15

#define query_stk_size 256

taskhandle_t query_handler;

void

query_task

(void

*pvparameters)

;char buffer[

1000];

//儲存資訊的陣列

void

configuretimeforruntimestats

(void

)//query任務函式

void

query_task

(void

*pvparameters)

}//50us一次freertosruntimeticks +1

void

hal_tim_periodelapsedcallback

(tim_handletypedef *htim)

/* user code begin callback 1 */

else

if(htim->instance == tim7)

/* user code end callback 1 */

}

串列埠輸出結果

//獲取所有任務的資訊

query_task                     	x	15

29213

task1 r 3

13912

tmr svc r 2

2345

idle r 0

1373

defaulttask b 24951

start_task d 1

2062

/************任務執行時間、百分比********************/

任務名 執行時間 執行百分比

query_task 4822%

idle 1998095%

tmr svc 2

<1%

defaulttask 1

<1%

task1 0

<

1%

FreeRTOS任務執行時間資訊統計

以下兩個函式都是任務執行時間資訊統計函式 include sys.h include delay.h include usart.h include led.h include timer.h include key.h include string.h include freertos.h inc...

FreeRTOS任務執行時間資訊統計

相關巨集的設定 configgenerate run time stats 使能 portconfigure timer for run time stats 配置乙個高精度定時器 計數器提供時基 portget run time counter value 讀取時間值 實驗舉例 char runt...

StopWatch任務執行時間監控

在最近 codereview中,發現 中大量使用了stopwatch 這個類去監視執行的時間。這裡總結一下大概的介紹。stopwatch 在spring中和apache中均提供了類似的功能,這裡分別介紹一下。stopwath是apache commons lang包下的乙個任務執行時間監視器,具體位...