ArduinoThread
Реализация простых многозадачных схем на Arduino через условное переключение периодических функций без выделения памяти под стеки
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:dc00acb27ac66baa17ffd6a5337eeda7d45838f569c6a203491dff3a706f614aArduinoThread-2.1.1-dc00acb2.zipОписание
Если в проекте нужно одновременно выполнять несколько периодических задач с разными интервалами, справиться с этим можно через условное переключение функций в главном цикле — именно это и делает ArduinoThread. Библиотека реализует механизм Protothread, позволяя организовать псевдопараллельные задачи без выделения отдельного стека памяти под каждую. Вы определяете отдельный объект Thread для каждой задачи, задаёте для неё интервал выполнения и функцию — дальше библиотека сама следит за расписанием. Это хорошо подходит для типовых проектов: чтение датчиков, управление светодиодами, обработка других периодических событий. Главное ограничение — функция-задача должна возвращать управление быстро, без длительных delay() или блокирующих операций. Поддерживается интеграция с Timer Interrupts для более точного тайминга.