https://github.com/esp8266/Arduino/tree/master/libraries/Ticker 有参考实例和源码    超级简单的使用方法。

说明:

函数说明
active() 判断定时器是否生效
attach(time,callback,value) 绑定定时器每隔多长时间执行一次
attach_ms(time,callback,value)同attach,改为毫秒
once(time,callback) 延时执行一次
once_ms(time,callback) 延时毫秒执行一次
detach()取消定时器

ticker使用示例:

#include <Ticker.h>
 
Ticker ticker1;// 建立Ticker用于实现定时功能
Ticker ticker2;
Ticker ticker3;

void sayHi(int hiTimes){
  Serial.print("Hi ");
  Serial.println(hiTimes);
}
void setup() {
  Serial.begin(9600); 
  int a = 1;
  int b = 2;

  ticker1.attach(1, sayHi,6);   // 每隔一秒钟调用sayHi函数一次,第三个是传给sayhi的参数

  ticker2.attach_ms(1000, [a,b]() {   // 每隔1000 ms 执行一次 , 参数: a b
      Serial.printf("a:%d,b%d\n",a,b); 
  });
  ticker3.once(10, []() {          // 十秒后执行一次
      Serial.println("once");
  });  
  delay(5000);
  if (ticker2.active()) {         // 如果定时器2处于激活状态就关闭它
      ticker2.detach();
    }
  ticker1.detach();          // 取消定时器1
  ticker2.once_ms(500, []() {   // 500 ms后 执行一次
      Serial.println(millis()); 
  });
  
}
 
void loop() {}
 

参考:从零开始的ESP8266探索(11)-定时任务调度器Ticker使用演示

太极创客: ESP8266多任务处理 – Ticker库使用说明

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐