#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#define LED_1_PIN 23 // Pin del primer LED
#define LED_2_PIN 22 // Pin del segundo LED
#define LED_3_PIN 21 // Pin del tercer LED
#define LED_8_PIN 5 // Pin del primer LED
#define LED_9_PIN 17 // Pin del segundo LED
#define LED_10_PIN 16 // Pin del tercer LED
void task1(void *pvParameters) {
pinMode(LED_1_PIN, OUTPUT);
pinMode(LED_2_PIN, OUTPUT);
pinMode(LED_3_PIN, OUTPUT);
while (1) {
digitalWrite(LED_1_PIN, HIGH);
delay(500); // Enciende el LED durante 500 ms
digitalWrite(LED_2_PIN, HIGH);
delay(500); // Apaga el LED durante 500 ms
digitalWrite(LED_3_PIN, HIGH);
delay(500); // Apaga el LED durante 500 ms
digitalWrite(LED_1_PIN, LOW);
delay(500); // Enciende el LED durante 500 ms
digitalWrite(LED_2_PIN, LOW);
delay(500); // Apaga el LED durante 500 ms
digitalWrite(LED_3_PIN, LOW);
delay(500); // Apaga el LED durante 500 ms
}
}
void task2(void *pvParameters) {
pinMode(LED_8_PIN, OUTPUT);
pinMode(LED_9_PIN, OUTPUT);
pinMode(LED_10_PIN, OUTPUT);
while (1) {
digitalWrite(LED_10_PIN, LOW);
digitalWrite(LED_8_PIN, HIGH);
delay(250); // Enciende el LED durante 250 ms
digitalWrite(LED_8_PIN, LOW);
digitalWrite(LED_9_PIN, HIGH);
delay(250); // Enciende el LED durante 250 ms
digitalWrite(LED_9_PIN, LOW);
digitalWrite(LED_10_PIN, HIGH);
delay(250); // Enciende el LED durante 250 ms
}
}
void setup() {
Serial.begin(115200);
xTaskCreate(task1, "Task1", 2048, NULL, 1, NULL);
xTaskCreate(task2, "Task2", 2048, NULL, 1, NULL);
}
void loop() {
// No es necesario tener código aquí si se usan tareas con FreeRTOS
}