실시간 시계가 PC의 시간을 시간으로 설정하고 싶습니다. 그러나 다음 스케치를 실행하면 실시간 시계가 시간이 내 PC보다 32-33 초 빠르다고 말합니다.
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
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
// uncomment it & upload to set the time, date and start run the RTC!
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();
}
또한 RTC에서 시간을 수동으로 설정하려고 시도했지만 같은 문제가 발생합니다. RTC는 설정 한 시간보다 항상 32-33 초 늦습니다. 스케치를 실행하자마자 지연이 발생합니다. 시간 설정 방법에 관계없이 정확히 같은 오류가 발생한다는 것은 매우 이상합니다. RTC가 말한지 33 초 후에 Arduino에 시간을보고하도록 지시 할 수 있지만,이 솔루션은 일종의 스케치처럼 보이며, RTC 또는 내가 사용하는 방식에 근본적으로 문제가 있다고 걱정됩니다.
Adafruit의 Assembled Data Logging Shield와 함께 Arduino Uno를 사용하고 있습니다. 데이터 로깅 쉴드는 DS1307 RTC를 사용합니다. 누구든지 전에이 문제가 있었거나 원인이 될 수있는 아이디어가 있습니까? 도움을 주시면 감사하겠습니다.