博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Arduino基础教程】多线程入门
阅读量:5742 次
发布时间:2019-06-18

本文共 871 字,大约阅读时间需要 2 分钟。

img_d247b833db04c802abc6c55a2e062b41.jpe
Arduino多线程库SCoop

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

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

Step 1: 加载库文件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://feizx.baihongyu.com/

你可能感兴趣的文章
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>
算法(第4版) Chapter 1
查看>>
前端技术选型的遗憾和经验教训
查看>>
“亲切照料”下的领域驱动设计
查看>>
SRE工程师到底是做什么的?
查看>>
解读:Red Hat为什么收购Ansible
查看>>
Ossim下的安全合规管理
查看>>
DelphiWebMVC框架下BPL热部署实现
查看>>
C++与MySQL的冲突
查看>>
siki学习之观察者模式笔记
查看>>
单元测试
查看>>
spring.net 继承
查看>>
ES6:模块简单解释
查看>>
JavaScript indexOf() 方法
查看>>
用Bootstrap写一份简历
查看>>
ZJU PAT 1023
查看>>
WMI远程访问问题解决方法
查看>>