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包下的乙個任務執行時間監視器,具體位...