Hallo,ich möchte ein RTC Uhr mit DCF signal jede Stunde synchronisieren, damit brauche ich nicht jedes mal die Zeit einzustellen, hat jemand hier ein funktion für diese synchronisation, oder eine Lösung dafür, danke. David
nimm gleich die Bausteine von Ullrich Rading, die syncronisieren bei jedem gültigem DCF Empfang
Dankr für schnelle Antwort, kannst du bitte mir diese funktion zeigen, ich bin neu hier.
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
Peter Dannegger schrieb: > Eine externe RTC wäre Unsinn, wenn man eh DCF77 drin hat. Nicht wirklich. 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. Es gibt eben auch Spezialanwendungen.
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, und andere Sache mit welche Takt hast du dein DCF Signal abgetastet.Danke. David
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
Peter Dannegger schrieb: > nehme ich lieber ein kleine Wartezeit > nach einem Netzausfall in Kauf. Aber auch nur wenn der Empfang immer gut ist. Wenn nicht sinds auch schon mal laengere Wartezeiten.
Peter Dannegger schrieb: > Dann muß man aber abwägen, ob der Ärger mit einer zusätzlichen Batterie > einem das Wert ist. Seit etwa 15 Jahren gibt es SuperCaps.
Knut Ballhause schrieb: > und das Gerät auch schon mal ein paar Wochen im Schrank > steht Knut Ballhause schrieb: > Seit etwa 15 Jahren gibt es SuperCaps. Nun die Preisfrage: Wie groß muss der Supercap werden, um für "ein paar Wochen" seine Selbstentladung und den RTC-Chip zu versorgen?
Εrnst B✶ schrieb: > Nun die Preisfrage: > Wie groß muss der Supercap werden, um für "ein paar Wochen" seine > Selbstentladung und den RTC-Chip zu versorgen? Ein 1F-Supercap 5.5V an einer DS1390U-33+ RTC läuft nachweislich über einen Monat.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.