#include <Arduino_FreeRTOS.h>
// Định nghĩa chân LED
#define LED_PIN 10
// Định nghĩa handle cho task
TaskHandle_t BlinkTaskHandle;
// Task để bật/tắt LED
void BlinkTask(void *pvParameters) {
(void) pvParameters;
pinMode(LED_PIN, OUTPUT);
while (1) {
digitalWrite(LED_PIN, HIGH); // Bật LED
vTaskDelay(1000 / portTICK_PERIOD_MS); // Chờ 1 giây
digitalWrite(LED_PIN, LOW); // Tắt LED
vTaskDelay(1000 / portTICK_PERIOD_MS); // Chờ 1 giây
}
}
void setup() {
// Khởi tạo Serial Monitor
Serial.begin(9600);
// Tạo task BlinkTask với mức ưu tiên tskIDLE_PRIORITY + 1
xTaskCreate(BlinkTask, "BlinkTask", 128, NULL, tskIDLE_PRIORITY + 1, &BlinkTaskHandle);
// Bắt đầu scheduler của FreeRTOS
vTaskStartScheduler();
}
void loop() {
// Không cần làm gì trong hàm loop
}