Taskfun
Вытесняющая многозадачность для Arduino AVR и SAMD21 с автоматическим распределением процессорного времени между задачами
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:83d4cf7ddf41b54f9801597e3245455443e8172960000ea8075697aa36419ce4Taskfun-0.1.93-83d4cf7d.zipОписание
Если ваш скетч состоит из независимых операций, которые должны работать одновременно, Taskfun добавит настоящую вытесняющую многозадачность вместо кооперативного переключения. Библиотека работает на Arduino AVR и SAMD21, автоматически распределяет процессорное время между задачами и заботится об отзывчивости системы. Включаете setupTasks() в setup(), затем запускаете задачи через runTask(). Для синхронизации доступа к общим переменным используется SyncVar, которая оборачивает операции в критические секции и отключает переключение на время обновления. Главное ограничение — необходимо правильно назначить размер стека каждой задаче, иначе скетч будет падать и вести себя непредсказуемо. При инициализации указываете ожидаемое количество задач, чтобы избежать лишних переаллокаций памяти во время работы.