RTC mit DCF synchronisieren

#1904094
Lesenswert?
• ▲
▼
David Vivandis schrieb:
> Dankr für schnelle Antwort, kannst du bitte mir diese funktion zeigen,
> ich bin neu hier.

Die Synchronisation erfolgt jedesmal, wenn der Empfang korrekt ist:
1
      if( dcf77error == 0 && newtime.second == 59 ){
2
        synchronize = 0xFF;
3
  sync_sec();
4
  time.second = 0;
5
  time.minute = newtime.minute;
6
  time.hour = newtime.hour;
7
  time.wday = newtime.wday;
8
  time.day = newtime.day;
9
  time.month = newtime.month;
10
  time.year = newtime.year;
11
      }
12
      newtime.second = 0;
13
      dcf77error = 0;

Synchronisiert wird die interne RTC.
Eine externe RTC wäre Unsinn, wenn man eh DCF77 drin hat.


Peter
#1904162
Lesenswert?
• ▲
▼
Knut Ballhause schrieb:
> Wenn die Zeit sofort nach dem Einschalten zur Verfügung
> stehen muß und das Gerät auch schon mal ein paar Wochen im Schrank
> steht, dann ist eine RTC ratsam.

Dann muß man aber abwägen, ob der Ärger mit einer zusätzlichen Batterie 
einem das Wert ist.

Da mir schon mehrmals in älteren Geräten Stützbatterien ausgelaufen sind 
und Zerstörungen verursacht haben, nehme ich lieber ein kleine Wartezeit 
nach einem Netzausfall in Kauf.

Peter
#1905066
Lesenswert?
• ▲
▼
David Vivandis schrieb:
> das ist mein Problem Peter, ich benutze ein DS1307 RTC d.h ein Externe
> RTc, kann ich mit deiner funktion diese RTC jede Stunde syncronisieren,
> damit habe ich immer genau Zeit,

Das Codestück oben schreibt die DCF77-Zeit in die interne Uhr. Dann 
kannst Du die Zeit auf Deine RTC ausgeben. Du wirst ja schon ne 
Ausgabefunktion zum Stellen haben.

Allerdings haben viele externe RTC ein ziemlich vergurktes Zahlenformat, 
z.b. die Minuten als 7Bit-packet-BCD usw.
Die mußt Du dann entsprechend umwandeln.

Ich arbeite in Programmen grundsätzlich immer im Lieblingsformat des MC 
und Compilers, d.h. 8-, 16- oder 32-Bit Integer-Zahlen.


> und andere Sache mit welche Takt hast
> du dein DCF Signal abgetastet.

64Hz, hat sich so ergeben.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.