Arduino 多任务库(时间片轮换实现)
Arduino 多任务库(时间片轮换实现)
Arduino 多任务库
Arduino基于定时器的多任务库,基于
millis()
函数,由millis()函数+单项链表运行
基本结构为
单项目多次使用单模块编写,代码冗杂,直接封装成库使用,以提高代码可读性。
注意:
此库理论是基于时间片切换实现多任务。因为单核cpu只能单线程运行(同一时刻只能做一件事),所以是伪多任务。
此库是根据时间片来切换任务,只实现了伪多任务。
此库任务内尽量不使用delay()函数来阻断函数运行,而且目前没有有效解决办法。
目前没有测试此库任务个数的极限数,理论来说会有一个极限值。
目前没有测试此库时间片最小间隔值,理论来说会有一个极限值。
此库可能有其他未知错误,请各位大神多多指教。
Arduino_Task.h
Arduino_Task.cpp
使用方法
关于此库如何添加到Arduino IDE
直接新建文件到与ino源文件相同目录,然后双击ino文件打开即可