【发布时间】:2021-02-24 16:02:41
【问题描述】:
我正在使用 ESP32 模块,我正在尝试以 毫秒 为单位获取 NTP 时间。我设法使用 struct tm 和函数 getLocalTime() 以秒为单位获得时间,没有任何问题。
我在论坛和互联网上读到我必须使用 struct timeval 和函数 gettimeofday() 来实现这一点。所以我在我的代码中相应地替换了结构和函数,但现在我再也没有时间了......
我的代码如下:
void printLocalTime()
{
//When using struct tm and getLocalTime() I can get the time without poblem in seconds
struct timeval tv;
if (!gettimeofday(&tv, NULL)) {
Serial.println("Failed to obtain time");
return;
}
long int sec = tv.tv_sec*1000LL;
Serial.println(sec);
long int temp = tv.tv_usec/1000LL;
Serial.println(temp);
}
当我运行它时,我得到的只是“未能获得时间”......
PS:我正在使用 arduino IDE 并包含 sys/time.h
谁能帮我解决这个问题?
非常感谢
【问题讨论】:
标签: arduino-ide esp32 ntp milliseconds