Software Timer
Relógios de software são funções de callbacks
que são executados pelo RTOS, os callbacks
podem ser executados de forma recorrente ou uma única vez (quando o tempo tiver passado).
Para usarmos um timer de software é necessário:
- Criar a variável global que representará o timer
TimerHandle_t xTimer
- Criar a função de
callback
:void vTimerCallback(TimerHandle_t xTimer) { ... }
- Na task, criar o timer:
xTimer = xTimerCreate("Timer", 100, pdTRUE, 0, vTimerCallback);
- E então ativar o timer:
xTimerStart(xTimer, 0);
A função possui os seguintes argumentos: xTimerCreate(pcTimerName, xTimerPeriod, uxAutoReload, pvTimerID, pxCallbackFunction)
.
pcTimerName
: É um nome único para o Timer (string).xTimerPeriod
: É o período em ticks que o timer vai executar. Ex:100
executa a aproximadamente 100msuxAutoReload
:pdTRUE
se o timer for recorrente epdFALSE
se for executar uma única vezpvTimerID
: Não faco ideia.. =)pxCallbackFunction
: Função que será chamada quando o timer estourar.
Código exemplo: