#include <Arduino_FreeRTOS.h>
#define LED1 12
#define LED2 13
TaskHandle_t task1Handle;
TaskHandle_t task2Handle;
void Task1(void *pvParameters) {
pinMode(LED1, OUTPUT);
while (1) {
digitalWrite(LED1, HIGH);
vTaskDelay(500 / portTICK_PERIOD_MS);
digitalWrite(LED1, LOW);
vTaskDelay(500 / portTICK_PERIOD_MS);
}
}
void Task2(void *pvParameters) {
pinMode(LED2, OUTPUT);
int count = 0;
while (count < 10) {
digitalWrite(LED2, HIGH);
vTaskDelay(150 / portTICK_PERIOD_MS);
digitalWrite(LED2, LOW);
vTaskDelay(150 / portTICK_PERIOD_MS);
count++;
}
vTaskSuspend(task1Handle);
vTaskDelay(2000 / portTICK_PERIOD_MS);
vTaskResume(task1Handle);
}
void setup() {
xTaskCreate(Task1, "Task1", 128, NULL, 1, &task1Handle);
xTaskCreate(Task2, "Task2", 128, NULL, 2, &task2Handle);
}
void loop() {
// Không có gì cần thực hiện trong hàm loop
}