#include <Arduino_FreeRTOS.h>
void LED01( void *pvParameters );
void LED02( void *pvParameters );
void LED03( void *pvParameters );
void setup() {
Serial.begin(9600);
xTaskCreate(
LED01
, "LED01"
, 128
, NULL
, 2
, NULL );
xTaskCreate(
LED02
, "LED02"
, 128
, NULL
, 1
, NULL );
xTaskCreate(
LED03
, "LED03"
, 128
, NULL
, 1
, NULL );
}
void loop() {}
int toMillis(int s) {
s = s * 1000;
return s / 15;
}
void LED01( void *pvParameters __attribute__((unused)) )
{
pinMode(4, OUTPUT);
for (;;)
{
digitalWrite(4, HIGH);
vTaskDelay(toMillis(2));
digitalWrite(4, LOW);
vTaskDelay(toMillis(4));
// one tick delay (15ms) in between reads for stability
}
}
void LED02( void *pvParameters __attribute__((unused)) )
{
pinMode(5, OUTPUT);
for (;;)
{
digitalWrite(5, HIGH);
vTaskDelay(toMillis(3));
digitalWrite(5, LOW);
vTaskDelay(toMillis(5));
// one tick delay (15ms) in between reads for stability
}
}
void LED03( void *pvParameters __attribute__((unused)) )
{
pinMode(6, OUTPUT);
for (;;)
{
digitalWrite(6, HIGH);
vTaskDelay(toMillis(3));
digitalWrite(6, LOW);
vTaskDelay(toMillis(7));
// one tick delay (15ms) in between reads for stability
}
}