好用的 ESP32 DS1307 库

最近需要实验使用 DS1307 作为 RTC,惊奇的发现很多库都是为标准 Arduino 开发的,因此可能遇到使用 ESP32 不支持的寄存器,或者 TimeLib.h 没有定义的情况。

经过一段时间的探索,找到了来自下面这个网址的库

https://www.elecrow.com/wiki/index.php?title=Tiny_RTC

经过实验(在 DFRobot FireBeetle上),可以正常工作。

代码如下:
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;

void setup () {
    Serial.begin(9600);
    Wire.begin();
    RTC.begin();
  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
}
void loop () {
    DateTime now = RTC.now(); 
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println(); 
    delay(1000);
}
DS1307 取得时间

有需要的朋友可以在这里:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注