Показать сообщение отдельно
Старый 12.04.2017, 00:57   #1
kostyamat
Пользователь
 
Регистрация: 20.04.2016
Возраст: 51
Город: Vera
Регион: Украина
Машина: Dodge Caliber 2.0CRD
Сообщений: 60
kostyamat is a jewel in the roughkostyamat is a jewel in the roughkostyamat is a jewel in the roughkostyamat is a jewel in the rough
Lightbulb Многозадачность на Arduino, несколько потоков loop()

Суть темы в том, что одновременно можно запустить несколько потоков loop(), переключение между которыми осуществляется по системному таймеру. Как результат, можно обрабатывать до трех независимых потоков команд в loop(), тем самым получая риалтайм обработку ввода/вывода и т.п. На то она и многозадачность.

Для полного понимания процессов, желательно внимательно покурить вот эту статью http://robocraft.ru/blog/985.html и продолжение http://robocraft.ru/blog/981.html
А саму обновляемую, для новых версий компилятора, библиотеку можно взять тут https://github.com/pi-null-mezon/Arduinomultitask
Это просто WOOW!!!! какой-то, товарищи. Нашел чисто случайно и просто обалдел. Это открывает просто неограниченные возможности, такие как реалтайм обработчики множества событий, без использования дефицитные прерываний, одновременые измерения и вывод и т.п. Применение просто безгранично, даже только с тремя потоками.
kostyamat вне форума   Ответить с цитированием