#include <RTClib.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
Wire.begin();
rtc.begin();
//rtc.adjust(DateTime(2023,1,11,15,30,0));
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
lcd.init();
if (! rtc.begin()) {//调试RTC
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("RTC Not Working");
}
}
void loop() {
DateTime now = rtc.now();
lcd.setCursor(3,0);
displayData(now.year());
lcd.print('/');
displayData(now.month());
lcd.print('/');
lcd.print(now.day());
lcd.setCursor(4,1);
displayData(now.hour());
lcd.print(':');
displayData(now.minute());
lcd.print(':');
displayData(now.second());
}
void displayData(u32 data)
{
if (data < 10)
{
lcd.print(0);
lcd.print(data);
}
else
lcd.print(data);
}