arduino中SCoop库的简单应用案例
首先这篇文章来在视频
https://v.youku.com/v_show/id_XNzYxMDQ1NDIw.html?refer=seo_operation.liuxiao.liux_00003308_3000_YvmIba_19042900
吃水不忘挖井人
1.SCoop库下载
https://github.com/soif/SCoop/tree/fix_scoop_compil
由于github不能下载单个文件,所以需要全部下载后再找出自己需要的文件
以下为简单例子实现每毫秒输出计数器的数值同时六号口的灯每秒闪烁一次
//1.引头文件
//2.setup mySCoop.start();
//loop yield();
//暂停使用sleep();
//sleep与delay的区别在于delay是全局暂停,sleep是分支暂停
#include<SCoop.h>//声明函数库
int count=0;
//简单的使用两种定义方式
//如果不需要定义端口这种方式最简单defineTaskLoop(X){}
//每毫秒输出计数器的数值
defineTaskLoop(Task2){
Serial.println(count++);
sleep(1);
}
//如果需要使用端口则这种定义可以兼顾端口定义和程序循环、
//六号口的灯每秒闪烁一次
//defineTask是一个词,不可隔开
defineTask(Task1)
void Task1::setup(){
pinMode(6,OUTPUT);
}
void Task1::loop(){
digitalWrite(6,!digitalRead(6));
sleep(1000);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
mySCoop.start();
}
void loop() {
// put your main code here, to run repeatedly:
//loop里面需要使用yield()函数
yield();
}