#概要
arduinoでマルチタスクやってみた。
#写真
#使用したライブラリー
https://github.com/ohisama/Arduino-MOS
#サンプルコード
タスクa,b,cが、それぞれ300ms,600ms,900msで動く。
#include "MOS.h"
void task_a(PTCB tcb)
{
MOS_Continue(tcb);
while (1)
{
Serial.print("A ");
Serial.println(millis());
MOS_Delay(tcb, 300);
}
}
void task_b(PTCB tcb)
{
MOS_Continue(tcb);
while (1)
{
Serial.print("B ");
Serial.println(millis());
MOS_Delay(tcb, 600);
}
}
void task_c(PTCB tcb)
{
MOS_Continue(tcb);
while (1)
{
Serial.print("C ");
Serial.println(millis());
MOS_Delay(tcb, 900);
}
}
void setup()
{
Serial.begin(115200);
}
void loop()
{
MOS_Call(task_a);
MOS_Call(task_b);
MOS_Call(task_c);
}
以上。