PDA

Просмотр полной версии : Многозадачность на Arduino, несколько потоков loop()


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

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

admin
12.04.2017, 01:52
http://www.cyber-place.ru/showthread.php?t=358&highlight=leo%2A