ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Четверг
3 декабря
/1046943
Топик полностью
AVF (25.10.2020 08:17, просмотров: 133) в ответ на Подскажите как сейчас правильно организовать в микроконтроллере программные таймеры? - автор: Peter_M
есть системный таймер uint32_t sysTimer_ms который инкрементируется каждую 1мс. При необходимости можно любой добавить - 100мс, 1с, 1час. Потом для таймера завожу переменную uint32_t timer_n. Ну и дальше просто: 
//запуск отсчета:
timer_n = sysTimer_ms;

//проверка условия:
if (sysTimer_ms - timer_n > needInterval)
{
    // если таймер периодический, обновляем отсчет
    timer_n = sysTimer_ms;

    // делаем что надо по таймеру.

}

в общем то достаточно примитивно и надежно, основное условие - все переменные должны быть unsigned и одного размера, для некоторых компиляторов, если needInterval число, его надо явно обозначать как беззнаковое типа "1000U".

Ответить