Arduino mega2560 多线程

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(),则会使整个程序都暂停。

posted @ 2018-12-13 16:40  Triw  阅读(1491)  评论(0编辑  收藏  举报