Tasker
Планировщик задач для неблокирующего выполнения функций по расписанию вместо delay()
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:01e0885dc91df736cbca02b9d47a4015dcda24b358f602c7678c0156ab630976Tasker-3.0.0-01e0885d.zipОписание
Вместо delay() и привычных задержек можно использовать планировщик задач — Tasker запускает функции в определённые моменты времени, не блокируя весь код. Это кооперативный многозадачник, работающий без аппаратных прерываний: каждая задача получает расписание (когда стартовать, сколько раз выполняться) и выполняется, пока работает главный loop. API позаимствован у JavaScript-таймеров, так что тем, кто знаком с setTimeout и setInterval, будет сразу ясно. Библиотека простая и компактная, хорошо описана и легко укладывается в память небольших плат. Единственное условие: задачи должны быть короткими, не занимать много времени, чтобы другие функции успевали выполняться. Правильно спроектированная программа с Tasker выглядит как параллельная, хотя на самом деле всё выполняется последовательно.