wemosでマルチタスク


概要

wemosでマルチタスクやってみた。

写真

使用したライブラリー

サンプルコード

タスク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);
}

以上。