const int green = 21;
const int blue = 19;
const int red = 18;
void task1(void * parameters) {
for(;;){
digitalWrite(red, HIGH);
vTaskDelay(1000 / portTICK_PERIOD_MS);
digitalWrite(red, LOW);
vTaskDelay(500 / portTICK_PERIOD_MS);
}
}
void task2(void * parameters) {
for(;;){
digitalWrite(blue, HIGH);
vTaskDelay(500 / portTICK_PERIOD_MS);
digitalWrite(blue, LOW);
vTaskDelay(250 / portTICK_PERIOD_MS);
}
}
void task3(void * parameters) {
for(;;){
digitalWrite(green, HIGH);
vTaskDelay(150 / portTICK_PERIOD_MS);
digitalWrite(green, LOW);
vTaskDelay(75 / portTICK_PERIOD_MS);
}
}
void setup() {
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
xTaskCreate(
task1,
"Task 1",
1000,
NULL,
1,
NULL
);
xTaskCreate(
task2,
"Task 2",
1000,
NULL,
2,
NULL
);
xTaskCreate(
task3,
"Task 3",
1000,
NULL,
3,
NULL
);
}
void loop() {
}