本站改版新增arduino频道

Micropython
Arduino

esp32c3 TaskScheduler 单线程多任务调度


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.0095260143280029 seconds