Arduino

아두이노 스레드(Thread) - Mult-Thread 예제

작성자 임베디드코리아 작성일26-05-24 16:38 조회45회 댓글0건

첨부파일

---> Thread_Base_Multy.ino <----------------------------------------
#include <Thread.h>

/* My Multi Thread */
Thread myThread01 = Thread();
Thread myThread02 = Thread();

int m_Count = 0;
int T1_Count = 1000;
int T2_Count = 2000;

/* threadAction for myThread */
void threadAction(){
    ++ T1_Count;
    Serial.print("threadAction : ");
    Serial.print(millis());
    Serial.print(" , ");
    Serial.println(T1_Count);
    delay(1000);
}

/*  threadInput for myThread */
void threadInput(){
    ++ T2_Count;
    Serial.print(" threadInput : ");
    Serial.print(millis());
    Serial.print(" , ");
    Serial.println(T2_Count);
    delay(1000);
}

void setup() {
  Serial.begin(9600);

myThread01.onRun(threadAction);
myThread01.setInterval(500);

  myThread02.onRun(threadInput);
myThread02.setInterval(500);
}

void loop() {
  /* checks if thread should run */
  if(myThread01.shouldRun())
myThread01.run();

  if(myThread02.shouldRun())
myThread02.run();
 
  ++m_Count;
  Serial.print("Main Thread :  ");
  Serial.println(m_Count);

  delay(1000);
}