#include <Arduino_FreeRTOS.h>
#define RED 6
#define YELLOW 7
#define BLUE 8
typedef int TaskProfiler;
TaskProfiler RedLEDProfiler;
TaskProfiler YellowLEDProfiler;
TaskProfiler BlueLEDProfiler;
//https://www.freertos.org/a00125.html
TaskHandle_t blue_Handle,red_Handle,yellow_Handle;
void setup()
{
xTaskCreate(redLedControllerTask, "RED LED Task",100,NULL,1,&red_Handle);
xTaskCreate(blueLedControllerTask, "BLUE LED Task",100,NULL,1,&blue_Handle);
xTaskCreate(yellowLedControllerTask, "YELLOW LED Task",100,NULL,1,&yellow_Handle);
}
void redLedControllerTask(void *pvParameters)
{
pinMode(RED, OUTPUT);
while(1)
{
digitalWrite(RED, digitalRead(RED)^1);
delay(50);
}
}
void blueLedControllerTask(void *pvParameters)
{
pinMode(BLUE, OUTPUT);
while(1)
{
digitalWrite(BLUE, digitalRead(BLUE)^1);
delay(50);
}
}
void yellowLedControllerTask(void *pvParameters)
{
pinMode(YELLOW, OUTPUT);
while(1)
{
digitalWrite(YELLOW, digitalRead(YELLOW)^1);
//https://www.freertos.org/a00129.html
vTaskPrioritySet(red_Handle,2);
delay(50);
}
}
void loop(){}