C:\Users\闫秋帅\AppData\Local\Temp\.arduinoIDE-unsaved2023620-30356-1nrx2ou.4y9i\sketch_jul20a\sketch_jul20a.ino:10:8: error: no matching function for call to 'Ticker::Ticker()' In file included from C:\Users\闫秋帅\AppData\Local\Temp\.arduinoIDE-unsaved2023620-30356-1nrx2ou.4y9i\sketch_jul20a\sketch_jul20a.ino:1:0: c:\Users\����˧\Documents\Arduino\libraries\Ticker/Ticker.h:74:2: note: candidate: Ticker::Ticker(fptr, uint32_t, uint32_t, resolution_t) Ticker(fptr callback, uint32_t timer, uint32_t repeat = 0, resolution_t resolution = MICROS); ^~~~~~ c:\Users\����˧\Documents\Arduino\libraries\Ticker/Ticker.h:74:2: note: candidate expects 4 arguments, 0 provided c:\Users\����˧\Documents\Arduino\libraries\Ticker/Ticker.h:62:7: note: candidate: constexpr Ticker::Ticker(const Ticker&) class Ticker { ^~~~~~ c:\Users\����˧\Documents\Arduino\libraries\Ticker/Ticker.h:62:7: note: candidate expects 1 argument, 0 provided C:\Users\闫秋帅\AppData\Local\Temp\.arduinoIDE-unsaved2023620-30356-1nrx2ou.4y9i\sketch_jul20a\sketch_jul20a.ino: In function 'void setup()': C:\Users\闫秋帅\AppData\Local\Temp\.arduinoIDE-unsaved2023620-30356-1nrx2ou.4y9i\sketch_jul20a\sketch_jul20a.ino:34:5: error: 'class Ticker' has no member named 'attach_ms' exit status 1 Compilation error: no matching function for call to 'Ticker::Ticker()'
时间: 2023-07-24 08:16:08 浏览: 183
这个错误提示表明在你的代码中存在以下问题:
1. 没有为 `Ticker` 对象提供必要的参数。根据错误信息,`Ticker` 类期望在创建对象时提供 4 个参数:回调函数、计时器时间、重复次数和分辨率。你需要为 `Ticker` 对象提供这些参数。
2. 在 `setup()` 函数中,你使用了 `attach_ms()` 方法,但是错误信息显示 `Ticker` 类没有名为 `attach_ms()` 的成员函数。可能是因为你使用的是旧版本的 `Ticker` 库,该库不支持 `attach_ms()` 方法。你可以尝试使用其他方法或查看库的文档以获取正确的方法。
解决这些问题的方法如下:
1. 在创建 `Ticker` 对象时,确保提供了所有必要的参数。例如:
```cpp
Ticker ticker(callback_function, timer_duration, repeat_count, resolution);
```
其中,`callback_function` 是你要执行的回调函数,`timer_duration` 是计时器时间,`repeat_count` 是重复次数,`resolution` 是分辨率。
2. 如果你使用的是旧版本的 `Ticker` 库,并且它不支持 `attach_ms()` 方法,那么你可以尝试使用其他方法,如 `attach()` 或查看库的文档以了解可用的方法和参数。
希望这些解决方案可以帮助你解决问题。如果还有其他问题,请随时提问。
相关问题
arduino报错CC:\Users\26711\AppData\Local\Temp\.arduinoIDE-unsaved2023624-12904-14p8sda.gx1j\sketch_jul24b\sketch_jul24b.ino: In function 'void setup()': C:\Users\26711\AppData\Local\Temp\.arduinoIDE-unsaved2023624-12904-14p8sda.gx1j\sketch_jul24b\sketch_jul
24b.ino:3:1: error: expected unqualified-id before '}' token
}
^
这个错误通常是由于缺少分号或括号不匹配引起的。请检查你的代码,确保在setup函数的末尾有一个分号,并且所有的括号都是成对出现的。如果你能提供更多的代码,我可以帮你更详细地解决问题。
C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino: In function 'void loop()': C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:43:31: error: 'SCL_TIME' was not declared in this scope PrintVector(vReal, samples, SCL_TIME); ^~~~~~~~ C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:51:31: error: 'SCL_INDEX' was not declared in this scope PrintVector(vReal, samples, SCL_INDEX); ^~~~~~~~~ C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:57:38: error: 'SCL_FREQUENCY' was not declared in this scope PrintVector(vReal, (samples >> 1), SCL_FREQUENCY); ^~~~~~~~~~~~~ C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino: In function 'void PrintVector(double*, uint16_t, uint8_t)': C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:86:10: error: 'SCL_INDEX' was not declared in this scope case SCL_INDEX: ^~~~~~~~~ C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:89:10: error: 'SCL_TIME' was not declared in this scope case SCL_TIME: ^~~~~~~~ C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:92:10: error: 'SCL_FREQUENCY' was not declared in this scope case SCL_FREQUENCY: ^~~~~~~~~~~~~ C:\Users\ycy13\AppData\Local\Temp\.arduinoIDE-unsaved2023615-27376-1dcww8o.35b\sketch_jul15a\sketch_jul15a.ino:97:22: error: 'SCL_FREQUENCY' was not declared in this scope if (scaleType == SCL_FREQUENCY) ^~~~~~~~~~~~~ exit status 1 Compilation error: 'SCL_TIME' was not declared in this scope
根据你提供的错误信息,看起来是因为少对应的常量定义导致编译错误。在代码中使用了 `SCL_TIME`、`SCL_INDEX` 和 `SCL_FREQUENCY`,但这些常量没有在代码中定义。
为了解决这个问题,你需要在代码中添加这些常量的定义。根据你的需求,你可以将以下常量定义添加到代码的开头:
```c++
#define SCL_TIME 0x01
#define SCL_INDEX 0x02
#define SCL_FREQUENCY 0x03
```
这样,编译器就能够识别并正确处理这些常量了。
请注意,根据你的具体需求,你也可以自定义这些常量的值。只要确保常量定义与其在代码中的使用一致即可。
希望这个修改能够解决你的问题!如果你还有其他疑问,请随时提问。
阅读全文