FreeRTOS任務執行時間資訊統計

2021-10-02 13:27:12 字數 2718 閱讀 9113

以下兩個函式都是任務執行時間資訊統計函式

#include

"sys.h"

#include

"delay.h"

#include

"usart.h"

#include

"led.h"

#include

"timer.h"

#include

"key.h"

#include

"string.h"

#include

"freertos.h"

#include

"task.h"

//任務優先順序

#define start_task_prio 1

#define task1_task_prio 2

#define task2_task_prio 3

#define runtimestats_task_prio 4

//任務堆疊大小

#define start_stk_size 128

#define task1_stk_size 128

#define task2_stk_size 128

#define runtimestats_stk_size 128

//任務控制代碼

taskhandle_t starttask_handler;

taskhandle_t task1task_handler;

taskhandle_t task2task_handler;

taskhandle_t runtimestats_handler;

//任務函式

void

start_task

(void

*pvparameters)

;void

task1_task

(void

*pvparameters)

;void

task2_task

(void

*pvparameters)

;void

runtimestats_task

(void

*pvparameters)

;char runtimeinfo[

400]

;//儲存任務執行時間

intmain

(void

)//開始任務建立

void

start_task

(void

*pvparameters)

//task1任務

void

task1_task

(void

*pvparameters)

}//task2任務

void

task2_task

(void

*pvparameters)

}//runtimestats任務

void

runtimestats_task

(void

*pvparameters)

vtaskdelay(10

);}}

.c檔案
#include

"timer.h"

#include

"led.h"

#include

"usart.h"

//freertos時間節拍計數器

volatile

unsigned

long

long freertosruntimeticks;

//初始化tim3為freertos的時間提供基礎時基

void

configuretimeforruntimestats

(void

)//通用定時器3中斷初始化函式

//arr:自動重灌值

//psc:時鐘預分頻數

//ft=定時器工作頻率,單位:mhz

//定時器3

void

tim3_int_init

(u16 arr,u16 psc)

//中斷服務函式

void

tim3_irqhandler

(void

)tim_clearitpendingbit

(tim3,tim_it_update)

;//清除中斷標誌位

}

.**件
#ifndef _timer_h

FreeRTOS任務執行時間資訊統計

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

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

1.開啟乙個50us定時器 假設freertos 1ms中斷一次 開啟中斷 中斷優先順序為1,比較高 2.實際 define configuse stats formatting functions 1 define configgenerate run time stats 1 define po...

StopWatch任務執行時間監控

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