本站改版新增arduino频道
esp32c3 TaskScheduler 单线程多任务调度
#include <TaskScheduler.h>
// 定义任务函数
void task1Callback();
void task2Callback();
// 创建任务
Task task1(1000, TASK_FOREVER, &task1Callback); // 任务1,每 1000ms 执行一次
Task task2(2000, TASK_FOREVER, &task2Callback); // 任务2,每 2000ms 执行一次
// 创建调度器
Scheduler runner;
void setup() {
Serial.begin(115200);
runner.init(); // 初始化调度器
runner.addTask(task1); // 添加任务1
runner.addTask(task2); // 添加任务2
task1.enable(); // 启用任务1
task2.enable(); // 启用任务2
}
void loop() {
runner.execute(); // 运行调度器
}
// 任务1的函数
void task1Callback() {
Serial.println("Task 1 is running");
}
// 任务2的函数
void task2Callback() {
Serial.println("Task 2 is running");
}
Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号
执行时间: 0.0094459056854248 seconds