gpt4 book ai didi

c++ - 如何在 Arduino 中使用时间库?

转载 作者:行者123 更新时间:2023-12-01 14:48:54 28 4
gpt4 key购买 nike

我正在尝试将这个简单的程序上传到我的 Arduino 以获取时钟时间:

#include <Time.h>

time_t nowTime;

void setup() {
nowTime = now();
}

但是,它无法编译:
exit status 1
'now' was not declared in this scope

为什么是 now()未在此范围内声明?包括 Time.h 文件。那么为什么不 now()被宣布?我怎样才能解决这个问题?

最佳答案

编译失败,因为编译器找到的 Time.h 文件与 Paul Stoffregen ( https://github.com/PaulStoffregen/Time ) 之类的时间库无关。

我尝试了为 Arduino Uno 编译的 Sketch,并看到了与您看到的相同的错误:Time.h 已解析(文件存在于某处),但 now() 未由该 Time.h 定义

在我的 Windows PC 上搜索了一段时间后,我终于找到了我认为 #include 包含在我的安装中的文件:C:\Users\Brad\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.2\firmwares\wifishield\wifiHD\src\time.h 或者 C:\Users\Brad\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\time.h

这些文件都没有定义 now() 函数。

如果您想使用 Paul Stoffregen 的时间库,请从 https://github.com/PaulStoffregen/Time 下载并安装它。 .相反,如果您希望使用 Michael Margolis 的时间库,您可以在 Arduino IDE 中的工具/管理库...下找到并安装它,然后在搜索词中输入“时间”(不带引号)。

正如其他人指出的那样,Arduino 环境并不总是知道当前的日期和时间。函数 mills() 和 micros() 分别返回自 Arduino 启动以来的毫秒数或微秒数。仅仅看时间的流逝,大多数人使用millis() 或micros() 而不是更复杂的库。

关于c++ - 如何在 Arduino 中使用时间库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59815331/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com