#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
TaskHandle_t taskR = NULL;
TaskHandle_t taskG = NULL;
TaskHandle_t taskB = NULL;
void tledR(void* p);
void tledG(void* p);
void tledB(void* p);
void setup() {
//xTaskCreate(tledR, "tledR", 2048, NULL, 1, &taskR);
//xTaskCreate(tledG, "tledG", 2048, NULL, 1, &taskG);
//xTaskCreate(tledB, "tledB", 2048, NULL, 1, &taskB);
xTaskCreate(tledR, "tledR", 2048, NULL, 1, NULL);
xTaskCreate(tledG, "tledG", 2048, NULL, 1, NULL);
xTaskCreate(tledB, "tledB", 2048, NULL, 1, NULL);
}
void loop() {
// Ne rien faire dans la boucle principale
}
void tledR(void* p) {
pinMode(2, OUTPUT); // GPIO2 pour la LED Rouge
while (1) {
digitalWrite(2, HIGH); // Allumer la LED Rouge
vTaskDelay(pdMS_TO_TICKS(500)); // Attendre 500 ms
digitalWrite(2, LOW); // Éteindre la LED Rouge
vTaskDelay(pdMS_TO_TICKS(500)); // Attendre 500 ms
}
}
void tledG(void* p) {
pinMode(4, OUTPUT); // GPIO4 pour la LED Verte
while (1) {
digitalWrite(4, HIGH); // Allumer la LED Verte
vTaskDelay(pdMS_TO_TICKS(500)); // Attendre 500 ms
digitalWrite(4, LOW); // Éteindre la LED Verte
vTaskDelay(pdMS_TO_TICKS(500)); // Attendre 500 ms
}
}
void tledB(void* p) {
pinMode(5, OUTPUT); // GPIO5 pour la LED Bleue
while (1) {
digitalWrite(5, HIGH); // Allumer la LED Bleue
vTaskDelay(pdMS_TO_TICKS(500)); // Attendre 500 ms
digitalWrite(5, LOW); // Éteindre la LED Bleue
vTaskDelay(pdMS_TO_TICKS(500)); // Attendre 500 ms
}
}