• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
I2C - RTC PCF8563 - odczytywanie i dekodowanie wartości
#1
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:


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);
}
[Obrazek: mwp99h.png]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości