Esse repositório contém uma biblioteca para lidar com timers feitos por software.
Essa biblioteca foi feita para ser utilizada como submódulo no STM32ProjectTemplate.
Para utilizar a biblioteca é necessário inicializar o timer com a função:
void soft_timer_init(TIM_HandleTypeDef* htim, uint32_t max_reload_ms);
Além disso, é necessário declarar a função de interrupção de quando ocorre o overflow do timer em hardware, tipicamente:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim) {
/* Code */
}
Dentro dessa função de interrupção é necessário verificar qual instância de timer em hardware causou a interrupção e chamar a seguinte função:
soft_timer_period_elapsed_callback();
Crie um diretório chamado lib
, caso não exista:
mkdir lib
E adicione o submódulo fazendo:
- Com HTTPS:
git submodule add --name STM32SoftTimer https://github.com/ThundeRatz/STM32SoftTimer.git lib/STM32SoftTimer
- Com SSH:
git submodule add --name STM32SoftTimer [email protected]:ThundeRatz/STM32SoftTimer.git lib/STM32SoftTimer
Equipe ThundeRatz de Robótica