[아두이노][라이브러리][ezTask.h] 일정 시간주기로 동작을 실행하는 기능을 사용하기 쉽도록 제공된 라이브러리

매쓰앤코딩아카데미 17-12-04 11:49 5 0

ezTask 아두이노 라이브러리는 일정 시간주기로 동작을 실행하는 기능을 사용하기 쉽도록 제공된 라이브러리입니다.

 

코드 알아보기

eztask 객체 선언

ezTask 객체 구조

ezTask task1(cycle,function);

//cycle 함수가 실행될 주기로 밀리초 단위입니다.

//function 은 실행할 함수입니다.

 

선언법은 다음과 같습니다.

 

외부 함수 사용

ezTask task1(1000,blink);

void blink(){//ezTask로 실행할 아두이노 함수를 만듭니다.

digitalWrite(3,HIGH);

delay(10);

digitalWrite(3,LOW);

}

 

람다식 사용

ezTask task1(1000,[](){//따로 함수를 만들지 않고 람다식으로 바로 넣어줍니다.

digitalWrite(3,HIGH);

delay(10);

digitalWrite(3,LOW);

});

 

ezTask사용하기

void loop(){

task1.run(); //선언한 ezTask객체의 run함수를 실행합니다.

/* loop문안에 run함수외의 다른 함수가 들어갈시 동작에 지장이 있을 수 있습니다. delay함수 등 동작에 긴 시간이 걸리는 함수는 사용을 자제하세요 */

}

 

 

예제 실행하기

#include <ezTask.h>

 

int LED1 = HIGH;

int LED2 = HIGH;

int LED3 = HIGH;

 

ezTask task1(1000,[](){

digitalWrite(2,LED1 = !LED1);

});

 

ezTask task2(2000,[](){

digitalWrite(3,LED2 = !LED2);

});

 

ezTask task3(3000,[](){

digitalWrite(4,LED3 = !LED3);

});

 

void setup() {

pinMode(2,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

}

 

void loop() {

task1.run();

task2.run();

task3.run();

}

[출처] 아두이노 ezTask라이브러리 사용해보기 [ 아두이노 , 주기별 동작 , delay없이 여러 작업 사용하기 ]|작성자 오픈랩

댓글목록

등록된 댓글이 없습니다.


전화카톡로그인