从NTP同步时间后,断网后时间还能运行吗?如何在重新启动或关闭电源后无需连接到服务器而保留存储在内存中的时间更新?我正在使用 esp-idf 框架。
代码来自 https://github.com/espressif/esp-idf/blob/master/examples/protocols/sntp/main/sntp_example_main.c
内存不是存储时间的地方,因为断电时内存会丢失其内容。为了跟踪时间,您需要某种持久存储(如 EEPROM 或闪存)与实际时钟相结合。
服务器和最终用户设备(个人电脑、笔记本电脑、平板电脑、智能手机等)通常具有内置硬件时钟以及一些在机器关闭时保持该时钟运行的方法。
在 PC/服务器领域,这通常是 RTC(实时时钟)与电池的组合。
在其他一些情况下,可以获得提供 RTC + 电池的附加组件(见下图)。
嵌入式/简单设备(例如 Arduino)可能没有这个功能,因此它们在关闭时会失去时间跟踪。
对于 ESP32,似乎有可能有 RTC,例如:http://www.esp32learning.com/code/esp32-and-ds3231-rtc-example.php