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);
ticker1.attach(1, sayHi,6); // 每隔一秒钟调用sayHi函数一次,第三个是传给sayhi的参数
ticker2.attach_ms(1000, []() { // 每隔1000 ms 执行一次
Serial.println(millis());
});
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() {}