Forum: Mikrocontroller und Digitale Elektronik RTC 4543 - Uhrzeit lässt sich nicht setzen - Arduino UNO


von Peter M. (petmic)


Lesenswert?

Hallo Zusammen,
gerne möchte ich mit meinem Arduino UNO mit LCD-Keyshield einen RTC 4543 
setzen.
Folgende Libary habe ich in Verwendung:
https://github.com/monoxit/RTC4543lib

Folgene Pinbelegung ist eingestellt:
const uint8_t dataPin = 12; //Digitaler GPIO (auch mit MISO Funktion)
const uint8_t clkPin = 13;  //Digitaler GPIO (auch mit SCK  Funktion)
const uint8_t wrPin = 2;    //Digitaler GPIO
const uint8_t cePin = 3;    //Digitaler GPIO (auch mit PWM  Funktion)

Auslesung der Uhrzeit funktioniert super.
Ein Setzen der Uhrzeit mit z.B. "RTC.set(15,3,31,3,20,3,0);" ist aber 
nicht möglich.
Muss ich diesen erst stoppen? Dazu gibt es leider in der Libary keine 
Funktion. Diese gibt als Beispiel folgendes:

if(!RTC.isRunning()){
  // Set (or adjust) time. (yy,MM,dd,ww,hh,mm,ss)
  // 2015.Mar.31 Tue 20:03:00
  //RTC.set(15,3,31,3,20,3,0);
}

Über jede Hilfe dankbar!

Viele Grüße
Petmic

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Peter M. schrieb:
> Ein Setzen der Uhrzeit mit z.B. "RTC.set(15,3,31,3,20,3,0);" ist aber
> nicht möglich.

Wie sah der Code aus, mit dem du das probiert hast?

von Peter M. (petmic)


Lesenswert?

#include <rtc4543lib.h>

const uint8_t dataPin = 12;
const uint8_t clkPin = 13;
const uint8_t wrPin = 2;
const uint8_t cePin = 3;

RTC4543 RTC(dataPin,clkPin, wrPin, cePin);

void setup() {
    Serial.begin(115200);

    // Set current time to RTC4543.
    // RTC.set(YY,MM,DD,W,hh,mm,ss);
    RTC.set(16,5,31,3,15,9,0);
}

void loop(){
    uint8_t val;

    RTC.now(); //Get (Update) current date and time from RTC4543.

    val = RTC.getYear(RTC4543::IN_BIN); //Get Year in BIN.
    Serial.print("20");
    Serial.print(val);
    Serial.print("/");

    val = RTC.getMonth(RTC4543::IN_BIN);  //Get month in BIN.
    Serial.print(val);
    Serial.print("/");

    val = RTC.getDate(RTC4543::IN_BIN);  //Get date in BIN.
    Serial.print(val);
    Serial.print(" ");

    val = RTC.getDay(RTC4543::IN_BIN);  //Get day in BIN.
    Serial.print(val);
    Serial.print(" ");

    val = RTC.getHours(RTC4543::IN_BCD);  //Get hours in BCD.
    Serial.print(val,HEX);
    Serial.print(":");

    val = RTC.getMinutes(RTC4543::IN_BIN);  //Get minutes in BIN.
    Serial.print(val);
    Serial.print(":");

    val = RTC.getSeconds(RTC4543::IN_BIN);  //Get seconds in BIN.
    Serial.println(val);

    delay(10000);
}

von Peter M. (petmic)


Lesenswert?

Uhrzeit läuft auch. Lässt sich aber nicht setzen. Woran kann das liegen?

von Jim M. (turboj)


Lesenswert?

Miss mal nach ob der wr Pin richtig gesetzt wurde und auch funktioniert.

von Peter M. (petmic)


Lesenswert?

Jim M. schrieb:
> Miss mal nach ob der wr Pin richtig gesetzt wurde und auch funktioniert.

Wie mache ich das? Normalerweise muss ja beim schreiben WR auf HIGH 
sein. Wie kann ich das mit z.B. mit einem Multimeter messen?

von Peter M. (petmic)


Lesenswert?

Habe mal die Spannung nachgemessen. Beim Schreiben liegt auf WR 3.9V an. 
Beim Lesen 0V. Damit müsste ja eigentlich die Einstellung richtig sein.

von Peter D. (peda)


Lesenswert?

Peter M. schrieb:
> gerne möchte ich mit meinem Arduino UNO mit LCD-Keyshield einen RTC 4543
> setzen.

Wo kriegt man denn für dieses komische Ding ein benutzbares Datenblatt 
her her?
Einen derart geheimen Chip würde ich nicht kaufen.

von Peter M. (petmic)


Lesenswert?

Konnte jetzt die Uhrzeit setzen. Musste doch externes VCC und GND 
anschließen! Danke euch!

von my2ct (Gast)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Wo kriegt man denn für dieses komische Ding ein benutzbares Datenblatt
> her her?
> Einen derart geheimen Chip würde ich nicht kaufen.

Die interessanten Sachen stehen nicht im Datenblatt, sondern im 
Application Manual.

von Philipp K. (binoder2)


Lesenswert?

Hallo ich  habe genau das selbe Problem der wr pin funktioniert kann 
aber nix einstellen vcc und gnd sind angeschlossen
es wird lediglich das angezeigt dabei ändert sich auch nichts
20165/25/45 7 3F:85:85

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.