乐鑫技术交流
直播中

刘勇

7年用户 1310经验值
私信 关注
[问答]

NTPClient为什么只有第一次调用“timeClient.update”时日期部分是错误的吗?

我在 NTPClient 库中遇到了一个奇怪的问题,几个月来它一直没有问题。
我建造了一个小型太阳能气象站,配备了一些传感器和一个 ESP8266,在从传感器读取数据后将它们传输到另一个 ESP8266(在我的桌子上),在 LCD 屏幕上显示这些数据。
传输完所有数据后,“气象站”进入深度睡眠 10 分钟。
显示气象站数据的 ESP8266 还显示上次更新的日期和时间以及当前室温/湿度(每 30 秒读取一次)。
要读取日期和时间,我正在使用 NTPClient 库,当“显示单元”启动时会出现问题。
在草图中“循环”的“第一次”调用中,它读取当前日期和时间并显示它。
所以第一次只有“日期”部分是错误的,“时间”部分总是正确的。
具体来说,“日期”部分总是 year=5378599(日和月也是错误的)但是当“显示单元”从“天气单元”接收数据时,完成日期和时间的刷新,这次日期是正确的。
使用的代码与可以在谷歌搜索中找到的各种示例相同。
我也尝试放置一个“if (year>2100)”来再次调用“timeClient.update()”,但结果是一样的。
知道为什么只有第一次调用“timeClient.update”时日期部分是错误的吗?

更多回帖

发帖
×
20
完善资料,
赚取积分