#include <Arduino.h>
typedef struct {
uint8_t pin;
unsigned long delay_ms;
} task_p;
void task(void *pv) {
task_p *task = (task_p *)pv;
pinMode(task->pin, OUTPUT);
while (1) {
digitalWrite(task->pin, !digitalRead(task->pin)); // Toggle pin
vTaskDelay(pdMS_TO_TICKS(task->delay_ms)); // Convert ms to ticks
}
}
void setup() {
Serial.begin(115200);
Serial.println("");
Serial.println("Hello, XIAO ESP32-S3!");
Serial.println("Welcome to Wokwi :-)");
task_p param1 = {D2, 500};
task_p param2 = {D3, 100};
task_p param3 = {D4, 1000};
xTaskCreate(task, "Task 1", 2048, ¶m1, 5, NULL);
xTaskCreate(task, "Task 2", 2048, ¶m2, 5, NULL);
xTaskCreate(task, "Task 3", 2048, ¶m3, 5, NULL);
vTaskDelete(NULL);
}
void loop() {
}
Loading
xiao-esp32-s3
xiao-esp32-s3