STM32 и аналог ардуиновской millis()

В ардуиновском языке Wiring есть весьма удобная функция
unsigned long timme = 0;
...
void loop()
{
if((millis() - timme) > 1000) // интервал 1000мс = 1сек
{
// что-то делаем
timme = millis();
}
}
Что-то делается раз в секунду.
У stm32 есть системный таймер
Исходя из этого, чтоб получить такой же механизм на stm32, нужно всего лишь заменить
uint32_t timme = 0;
...
while(1)
{
if((HAL_GetTick() - timme) > 1000) // интервал 1000мс = 1сек
{
// что-то делаем
timme = HAL_GetTick();
}
}
Если вы не используете HAL, тогда можно настроить любой таймер так же как описана работа SysTick.
Это всё, всем спасибо

Телеграм-чат istarik
Телеграм-чат STM32

- 0
- stD
65166
Поддержать автора
Комментарии (0)