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

本文介绍如何使用SCoop库在Arduino开发板上实现多线程编程。通过详细步骤指导读者安装配置SCoop库,并提供了完整的示例代码来展示如何创建和运行线程,包括基本的LED闪烁任务。
img_d247b833db04c802abc6c55a2e062b41.jpe
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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值