1. 程式人生 > >FreeRTOS 軟體定時器的使用

FreeRTOS 軟體定時器的使用

本質

軟體定時器本質上是一個週期性的任務或單次執行任務。

第一步:巨集配置

使用軟體定時器需要在FreeRTOSConfig.h先配置, 需要注意的是優先順序和堆疊,這幾個資料要根據具體情況具體設定。

#define configUSE_TIMERS 1// 使能軟體定時器 
#define configTIMER_TASK_PRIORITY 1// 確定軟體定時器程序優先順序(根據具體應用而定,不要設的過低,否則精度也會隨之下降)
#define configQueue_LENGTH 10// 定時器命令佇列(Timer Command Queue)長度
#define configTIMER_TASK_STACK_DEPTH 512// 分配給軟體定時器任務的記憶體大小

第三步:使用API函式

這些API函式就可在應用層呼叫了,具體的函式引數和使用參加官網的文件說明,裡面有很好的介紹,這裡就沒必要說明了

xTimerCreate();
xTimerlsTimerActive();
xTimerStart();
xTimerStop();
xTimerChangePeriod();
xTimerDelete();
xTimerReset();
xTimerStartFromISR();
xTimerStopFromISR();
xTimerChangePeriodFromISR();
xTimerResetFromISR();
xTimerGetTimerID()
; xTimerGetTimerDaemonTaskHandle();

參考例程

在FreeRTOS的原始碼的Demo中有提供具體例子,把相關檔案加入工程就可使用的。檔名與位置如下:
檔名:TimerDemo.c與TimerDemo.h
檔案位置:FreeRTOS\Demo\Common\Minimal與FreeRTOS\Demo\Common\include

工程參考目錄

這裡寫圖片描述