22-03-2016, 19:16
Witam,
Zaczynam powoli rozumieć zasadę działania wymiany danych na magistrali I2C, dopiero dzisiaj ogarnąłem jak bez biblioteki ustawić czas mojemu RTC na PCF8563 i odczytać wartości z poszczególnych rejestrów, jednak nie mam zielonego pojęcia jak pozyskać wczytany i przeliczony czas. Nie rozumiem fragmentu biblioteki odpowiadającego za odczytywanie czasu (formatTime -> getTime). Poradnikami internetowymi oceniając jestem średnio-zaawansowany, więc proszę o wyrozumiałość i wytłumaczenie...
[BIBLIOTEKA] (GitHub)
Kod wczytujący przykładowe wartości i odczytujący je:
Zaczynam powoli rozumieć zasadę działania wymiany danych na magistrali I2C, dopiero dzisiaj ogarnąłem jak bez biblioteki ustawić czas mojemu RTC na PCF8563 i odczytać wartości z poszczególnych rejestrów, jednak nie mam zielonego pojęcia jak pozyskać wczytany i przeliczony czas. Nie rozumiem fragmentu biblioteki odpowiadającego za odczytywanie czasu (formatTime -> getTime). Poradnikami internetowymi oceniając jestem średnio-zaawansowany, więc proszę o wyrozumiałość i wytłumaczenie...
[BIBLIOTEKA] (GitHub)
Kod wczytujący przykładowe wartości i odczytujący je:
Kod:
#include <Wire.h>
#include <Rtc_Pcf8563.h>
Rtc_Pcf8563 rtc;
void setup() {
Serial.begin(38400);
Wire.begin();
//Wczytywanie wartości
/*Wire.beginTransmission(0x51);
Wire.write(0x00);
Wire.write(0x00);
Wire.write(0x00);
Wire.write(0x00);
Wire.write(0x15);
Wire.write(0x15);
Wire.write(0x22);
Wire.write(0x00);
Wire.write(0x3);
Wire.write(0x16);
Wire.endTransmission();*/
}
void loop() {
//Wyświetlanie czasu z pomocą biblioteki
Serial.println(rtc.formatTime());
//Serial.println(rtc.formatDate(0x01));
//Odczyt wartości z rejestru
Wire.beginTransmission(0x51);
Wire.write(2);
Wire.endTransmission();
Wire.requestFrom(0x51, 1);
int sec = Wire.read();
Serial.println(sec);
delay(1000);
}