问题遇到的现象和发生背景
ESP32 用arduino编程里的ticker函数,一直显示:no matching function for call to 'Ticker::Ticker()',还请各位小哥帮忙解答。
代码
#include <Arduino.h>
#include <Ticker.h> // 使用Ticker库,需要包含头文件
#define LED_BUILTIN 2
Ticker ticker; // 创建一个定时器对象
void setup() {
Serial.begin(9600); // 初始化串口
pinMode(LED_BUILTIN, OUTPUT); // 设置LED引脚为输出引脚
digitalWrite(LED_BUILTIN, LOW); // 设置引脚为低电平,点亮LED
/* 设置周期性定时0.5s,即500ms,回调函数为timer1_cb,参数为LED引脚号,并启动定时器 */
ticker.attach(0.5, timer1_cb, LED_BUILTIN);
}
void loop() {
delay(100);
}
void timer1_cb(int led_pin)
{
int state = digitalRead(led_pin); // 获取当前led引脚状态
digitalWrite(led_pin, !state); // 翻转LED引脚电平
}
运行结果及报错内容
C:\Users\Documents\Arduino\libraries\Ticker-main/Ticker.h:62:7: note: candidate expects 1 argument, 0 provided
C:\Users\Desktop\ticker2\ticker2.ino: In function 'void setup()':
ticker2:17:10: error: 'class Ticker' has no member named 'attach'
ticker.attach(0.5, timer1_cb, LED_BUILTIN);
^
exit status 1
no matching function for call to 'Ticker::Ticker()'
我的解答思路和尝试过的方法
不知道是不是库文件的问题,重新下载库还是这样。