库文件下载地址
加载库文件
将下载到的SCoop文件夹放入Arduino\libraries中,并在新建ino文件时加载SCoop库文件
命令执行与调用
使用时在主程序的Setup函数中写入以下代码:
#include <SCoop.h>
void setup() {
mySCoop.start();
}
void loop()
{
yield();
}
完整代码及子线程完整定义
注意延迟函数使用sleep();不要使用delay();
sleep();只在当前线程进行延迟,delay();则会在全局进行延迟。
实现线程1以1s的频率闪烁,线程2以2s的频率闪烁
#include <SCoop.h>
defineTask(TaskTest1);//定义子线程1
defineTask(TaskTest2);//定义子线程2
void TaskTest1::setup()//线程1设定
{
pinMode(2, OUTPUT);
}
void TaskTest1::loop()//线程1循环
{
digitalWrite(2, HIGH);
sleep(1000);
digitalWrite(2, LOW);
sleep(1000);
}
void TaskTest2::setup()//线程2设定
{
pinMode(3, OUTPUT);
}
void TaskTest2::loop()//线程2循环
{
digitalWrite(3, HIGH);
sleep(2000);
digitalWrite(3, LOW);
sleep(2000);
}
void setup() {
mySCoop.start();
}
void loop()
{
yield();
}