CoopThreads
Кооперативные потоки для микроконтроллеров с минимальным расходом памяти, без RTOS и динамической памяти
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:dfd99e7591310a239d01fa8a39212d38ecae42d70a6eb55efab2c60b0f4d804dCoopThreads-0.3.1-dfd99e75.zipОписание
Легковесная библиотека для организации кооперативных потоков на микроконтроллерах, где полноценная RTOS была бы избыточна. Использует стандартные функции C (setjmp/longjmp и alloca) для сохранения контекста выполнения, поэтому легко переносится между платформами. Стеки потоков размещаются в основном стеке программы без копирования при переключении контекста, что сильно экономит память. Поддерживает синхронизацию через wait/notify механизм и режимы сна для снижения энергопотребления. Тестирована на AVR (Arduino UNO), ESP32, ESP8266 и STM32. Не использует динамическую память и имеет настраиваемый размер кода — можно отключить ненужные функции. Подойдёт для проектов на 8-битных контроллерах, где памяти мало, но нужна многозадачность.