我使用的是Arduino Mega的SD卡。每次我向卡写入数据时,大约每2或3秒一次,我希望在文本旁边有一个时间戳,就像它在串行监视器上工作的方式一样。我想知道是否有任何方法可以通过编程来完成这一点,而不是获得RTC。
hgqdbh6s1#
有一些软件RTC库,如swRTC,Arduino-RTC具有纯软件模式。这些库依赖于Arduino时钟的精确度,所以它们不会那么精确,需要经常调整。此外,您需要在每次重置Arduino时设置它们。设置和调整这些软件RTC需要从某个地方获得当前时间,如通过串行连接的PC、用于网络时间的WiFi、GPS时间、互联网上的SNTP服务器等。最简单的方法是手动设置启动时间,然后自己用millis()计时。虽然不是很精确,但总比什么都不做好。话虽如此:我只需要一个硬件RTC;它们很便宜,相当准确,而且它们有备用电池,所以它们总是保持时间。它们也比Arduinos的RTC更好,后者在硬件上确实有一个。
millis()
1条答案
按热度按时间hgqdbh6s1#
有一些软件RTC库,如swRTC,Arduino-RTC具有纯软件模式。
这些库依赖于Arduino时钟的精确度,所以它们不会那么精确,需要经常调整。此外,您需要在每次重置Arduino时设置它们。
设置和调整这些软件RTC需要从某个地方获得当前时间,如通过串行连接的PC、用于网络时间的WiFi、GPS时间、互联网上的SNTP服务器等。
最简单的方法是手动设置启动时间,然后自己用
millis()
计时。虽然不是很精确,但总比什么都不做好。话虽如此:我只需要一个硬件RTC;它们很便宜,相当准确,而且它们有备用电池,所以它们总是保持时间。它们也比Arduinos的RTC更好,后者在硬件上确实有一个。