esp32 定时器 Arduino 库使用

// 引入定时器库
#include <Ticker.h>

// 实例化定时器对象
Ticker time1;
Ticker time2;
Ticker time3;
Ticker time4;
 
void time1_callback() {
    Serial.println("时间到,执行我,我是定时器回调函数");
}

void setup() {
    // 为定时器配置触发时执行的回调函数
    // 每 60 秒执行一次 time1_callback
    time1.attach(60, time1_callback);

    // 每 1000 ms 执行一次 time1_callback
    time2.attach_ms(1000, time1_callback);

    // 倒计时 1 个小时,时间到执行一次 time1_callback
    time3.once(60 * 60, time1_callback);

    // 倒计时 1 分钟,时间到执行一次 time1_callback
    time3.once_ms(1000, time1_callback);

    // arg 必须小于 4 字节
    time1.attach(60, time1_callback, 88);

    // 移除定时器
    time1.detach();

    if (time1.active()) {
      // 定时器还存话
    }
}

void time1_callback(int state) {
    // 收到参数:88
    Serial.println("收到参数:%s", state);
}






posted @ 2023-02-16 13:47  LiuChengloong  阅读(847)  评论(0编辑  收藏  举报