#include <Arduino.h>
#define RED 2
#define BLUE 16
#define GREEN 5
void Task1code(void *parameter);
void Task2code(void *parameter);
void Task3code(void *parameter);
void setup() {
Serial.begin(9600);
pinMode(RED, OUTPUT);
pinMode(BLUE, OUTPUT);
pinMode(GREEN, OUTPUT);
xTaskCreate(Task1code, "Task1", 2000, NULL, 1, NULL);
xTaskCreate(Task2code, "Task2", 2000, NULL, 1, NULL);
xTaskCreate(Task3code, "Task3", 2000, NULL, 1, NULL);
}
void Task1code(void *parameter) {
for (;;) {
digitalWrite(RED, HIGH);
vTaskDelay(1000 / portTICK_PERIOD_MS);
digitalWrite(RED, LOW);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void Task2code(void *parameter) {
for (;;) {
digitalWrite(BLUE, HIGH);
vTaskDelay(500 / portTICK_PERIOD_MS);
digitalWrite(BLUE, LOW);
vTaskDelay(500 / portTICK_PERIOD_MS);
}
}
void Task3code(void *parameter) {
for (;;) {
digitalWrite(GREEN, HIGH);
vTaskDelay(200 / portTICK_PERIOD_MS);
digitalWrite(GREEN, LOW);
vTaskDelay(200 / portTICK_PERIOD_MS);
}
}
void loop() {
// Không cần code trong loop vì tất cả đã chạy trong Task
}