UniversalTimer
Неблокирующий таймер на основе millis() для периодического выполнения кода, отсчёта интервалов и обработки таймаутов
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:54e9924d1eae89e6ef1f74dbbf174813e4460c7701e2ebbbe629985c8e7f6153UniversalTimer-1.0.0-54e9924d.zipОписание
Таймер на основе millis(), работающий неблокирующим образом — то есть не замораживает выполнение программы. Подходит для периодического выполнения кода, отсчёта интервалов, обработки таймаутов, дебаунса кнопок или просто измерения прошедшего времени. Механизм работает так: накапливает прошедшее время в timerValue и сравнивает с заданным интервалом, при совпадении возвращает true. Если таймер повторяющийся, он вычитает интервал из накопленного значения и продолжает считать, что даёт точное периодическое срабатывание без потери времени. Максимальный интервал — около 49 суток из-за ограничения uint32_t. Не стоит ставить интервал меньше среднего времени вашего loop(), иначе таймер может переполниться раньше положенного.