如何在不使用 RTC 的情况下向 SD 卡添加时间戳

How do you add a timestamp to an SD card without using a RTC

我正在使用带有 arduino mega 的 SD 卡。每次我写卡时,大约每 2 或 3 秒一次,我希望在文本旁边有一个时间戳。它在串行监视器上的工作方式相同。我想知道是否有任何方法可以通过编程而不是获取 RTC 来执行此操作。

那里有软件 RTC 库,例如 swRTC, and Arduino-RTC 有纯软件模式。

这些库依赖于 Arduino 时钟的准确性,因此它们不会那么准确,并且需要经常进行调整。此外,每次重置 Arduino 时都需要设置它们。

设置和调整这些软件 RTC 需要来自某处的当前时间,例如您的 PC(如果通过串口连接)、WiFi 网络时间、GPS 时间、互联网上的 SNTP 服务器等。

最简单的方法是手动设置启动时间,然后自己用 millis() 计时。也不是很准确,但总比没有好。

话虽如此:我只想要一个硬件 RTC;它们很便宜,相当准确,而且它们有备用电池,所以它们总是能计时。它们也比 Arduinos 中的 RTC 更好,后者在硬件中有一个。