前言
本节我们学习使用WeMos D1的定时器,使用定时器可以实现定时、延时控制功能、PWM输出、计数以及对外部事件的检测。
一、基础知识
1.WeMos D1定时器简介
WeMos D1中定时器通过Ticker实现,Ticker是一个定时器库,通过Ticker可以很容易实现定时器功能。当前不建议从Ticker回调函数中阻止IO操作(网络,串行,文件)。 最好在代码回调中设置一个标志,然后在循环函数中检查该标志。
2. WeMos D1定时器函数说明
二、实例
实例程序开启两个定时器,一个是单次定时,6秒后进入单次定时回调函数,另一个是循环定时,每隔3秒进入依次回调函数。
#include
#include
Ticker tk, tk1;
int timer_flag = 0;
int count = 0;
void timer_coming_once_cb(void)
{
Serial.println("time coming only once.");
tk1.detach();
}
void time_coming_cicyle_cb(void)
{
timer_flag = 1;
count++;
}
void setup() {
Serial.begin(9600);
tk1.once(6, timer_comi