NoDelay
Неблокирующие задержки на основе millis() с поддержкой callback-функций и динамической смены времени
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:1f881a9ab2810c9263608cca5d2aa62f9addb207dd3804e0b9b924c1e0b6ca9dNoDelay-2.2.0-1f881a9a.zipОписание
Если надоели блокирующие задержки, которые замораживают весь код, NoDelay оборачивает встроенную функцию millis() в удобный интерфейс. Создаёшь объект noDelay с нужным временем в миллисекундах, а потом в каждом цикле loop() вызываешь update() — он вернёт true, когда время истекло. Можно проверять результат в if-блоке или сразу при создании объекта передать функцию обратного вызова, которая выполнится автоматически. Есть функция start() для перезагрузки таймера, setDelay() для изменения времени прямо во время работы, и если установить delay на ноль, update() будет возвращать true каждый раз — полезно для быстрых операций. Библиотека готовит удаление функции fupdate(), так что лучше переходить на update().