#include <Arduino.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#define LED1_PIN 4
#define LED2_PIN 5
void led1Task(void *pvParameters);
void led2Task(void *pvParameters);
void setup()
{
pinMode(LED1_PIN, OUTPUT); // Đặt chân LED1_PIN là đầu ra
pinMode(LED2_PIN, OUTPUT); // Đặt chân LED2_PIN là đầu ra
xTaskCreate(led1Task, "LED1 Task", 1000, NULL, 1, NULL); // Tạo task led1Task
xTaskCreate(led2Task, "LED2 Task", 1000, NULL, 1, NULL); // Tạo task led2Task
}
void loop()
{
// Không làm gì trong hàm loop chính
}
void led1Task(void *pvParameters)
{
while (1)
{
digitalWrite(LED1_PIN, HIGH); // Bật LED1
vTaskDelay(1000 / portTICK_PERIOD_MS); // Delay 1 giây
digitalWrite(LED1_PIN, LOW); // Tắt LED1
vTaskDelay(1000 / portTICK_PERIOD_MS); // Delay 1 giây
}
}
void led2Task(void *pvParameters)
{
while (1)
{
digitalWrite(LED2_PIN, HIGH); // Bật LED2
vTaskDelay(500 / portTICK_PERIOD_MS); // Delay 0.5 giây
digitalWrite(LED2_PIN, LOW); // Tắt LED2
vTaskDelay(500 / portTICK_PERIOD_MS); // Delay 0.5 giây
}
}