arduino需要借助SCoop实现多线程
1 将SCoop库添加到arduino IED中
GitHub下载地址:https://github.com/fabriceo/SCoop
2 编程实现
#include "SCoop.h"
defineTask(Task1);
void Task1::setup()
{
}
void Task1::loop()
{
sleep(1000);
int reading = digitalRead(13);
if(reading == LOW){Serial.println("LOW");}
if(reading == HIGH){Serial.println("HIGH");}
}
void setup() {
mySCoop.start();
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop()
{
yield();
digitalWrite(13, HIGH);
sleep(1000);
digitalWrite(13, LOW);
sleep(1000);
}
如果只是想在某个线程中暂停,请使用sleep(ms)。若使用delay(),则会使整个程序都暂停。