Files
mixly3/boards/default/arduino_avr/wiki/wiki-libs/zh-hans/003-控制/060-SCoop Task.md
2024-07-19 10:16:00 +08:00

1.1 KiB
Raw Blame History

SCoop Task

SCoop Task
#include "SCoop.h"

defineTask(scoopTask1)
void scoopTask1::setup(){
}
void scoopTask1::loop(){
}

void setup(){
  mySCoop.start();
}

void loop(){
  yield();
  sleep(1000);
}

描述

SCoop模块用于执行多线程任务最多支持8个任务。

范例

利用SCoop控制13号引脚LED灯以2秒的频率闪烁同时控制12号引脚的LED灯以200毫秒的频率闪烁。

SCoop Task示例
#include "SCoop.h"

defineTask(scoopTask1)
void scoopTask1::setup(){
  pinMode(13, OUTPUT);
}
void scoopTask1::loop(){
  digitalWrite(13, HIGH);
  sleep(1000);
  digitalWrite(13, LOW);
  sleep(1000);
}

defineTask(scoopTask2)
void scoopTask2::setup(){
  pinMode(12, OUTPUT);
}
void scoopTask2::loop(){
  digitalWrite(12, HIGH);
  sleep(100);
  digitalWrite(12, LOW);
  sleep(100);
}

void setup(){
  pinMode(13, OUTPUT);
  mySCoop.start();
  pinMode(12, OUTPUT);
}

void loop(){
  yield();
}