【Arduino基础教程】多线程入门

Arduino多线程库SCoop

多线程是指从软件或者硬件上实现多个线程并发执行的技术。

Arduino开发板借助SCoop即可轻松实现多线程。

Step 1: 加载库文件SCoop

https://github.com/fabriceo/SCoop下载SCoop库,然后添加到Arduino IDE中。

Step 2: 初始化设置

1.引入头文件

#include "SCoop.h"

2.设置setup

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

3.设置loop

void loop() {
  yield();
}

4:定义的线程并实现具体功能

defineTask(TaskTest);
void TaskTest::setup()
{
  //这里是setup
}
void TaskTest::loop()
{
  //这是是loop,需要干啥在这儿写就好了。
}

Step3:完整示例

#include "SCoop.h"
defineTask(Task1);
 void Task1::setup()
 {
   pinMode(13, OUTPUT);
 }
 void Task1::loop()
 {
   digitalWrite(13, HIGH);
   sleep(1000);
   digitalWrite(13, LOW);
   sleep(1000);
 }
//快速定义
 defineTaskLoop(Task2)
 {
   digitalWrite(12, HIGH);
   sleep(100);
   digitalWrite(12, LOW);
   sleep(100);
 }
void setup() {
   mySCoop.start();
   pinMode(12, OUTPUT);
 }
void loop()
 {
   yield();
 }

【tips】

1.快速定义,即省略setup

defineTaskLoop(TaskTest1){
  //我是loop
}

2.如果只是想在某个线程中暂停,请使用sleep(ms)。若使用delay(),则会使整个程序都暂停。

参考文献

http://www.fuckcode.net/arduino%E5%A4%9A%E7%BA%BF%E7%A8%8B/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容