古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

搜尋此網誌

Translation

2016年7月22日 星期五

ESP8266 - TickerScheduler

這個library提供類似multitask的機制,還不錯用。做個記錄~

#include <tickerscheduler.h>
//Regis, tick task test
TickerScheduler ts(5);

void setup(void)
{
  Serial.begin(115200);
  Serial.println("Start");

  //Regis, tick task test
  if (ts.add(0, 5000, task1, true))
  {
    Serial.println("Tick task - task0 ok");
  }
  if (ts.add(1, 4000, task1, true))
  {
    Serial.println("Tick task - task1 ok");
  }
  if (ts.add(2, 3000, task2, true))
  {
    Serial.println("Tick task - task2 ok");
  }
  if (ts.add(3, 2000, task3, true))
  {
    Serial.println("Tick task - task3 ok");
  }
  if (ts.add(4, 1000, task4, true))
  {
    Serial.println("Tick task - task14 ok");
  }
}

void task0(void)
{
  Serial.println("Task0");
}

void task1(void)
{
  Serial.println("Task1");
}

void task2(void)
{
  Serial.println("Task2");
}

void task3(void)
{
  Serial.println("Task3");
}

void task4(void)
{
  Serial.println("Task4");
}

void loop(void) {
  ts.update();
}


upload到ESP8266,從terminal可以觀察到task0到task4依照設定到秒數把message印出來。
看來有機會做“類”多工的功能,蜘蛛Robot有機會做更高階的應用了~

沒有留言:

張貼留言