Ich werde in mein nächstes AVR Projekt eine Uhr integrieren. Möglichkeiten für eine "genaue" Sekunde sind hier ja gut beschrieben. Jedoch möchte ich weiter die Uhr auch mit einem Datum ausstatten. Von der PC Programierung her gibt es ja Funktionen die eine Zahl in ein Datum Umwandeln (Tage seit dem 1.1.1970) Wie sind diese implementiert, und wenn ja wie macht man sowas auf einem µC?
@ hans0815 >Von der PC Programierung her gibt es ja Funktionen die eine Zahl in ein >Datum Umwandeln (Tage seit dem 1.1.1970) Wie sind diese implementiert, Als Funktion im Betriebssystem, programmiert in C. >und wenn ja wie macht man sowas auf einem µC? Ganz genau so. MFG Falk
Ich werde (wie immer) die AVRlibc verwenden. Gibt es dort diese Funktion, und wie heist sie? Ich möchte ja nicht nur das Datum jeden Tag eins hochzählen, sondern als Text zB. auf einem LCD ausgeben - wobei es dann ja umgewandelt werden muss.
@ hans0815 >Ich werde (wie immer) die AVRlibc verwenden. Gibt es dort diese >Funktion, und wie heist sie? AFAIK nein. Musst du alles selber programmieren. Aber ich kenn mich da nicht wirklich aus. Frag mal im GCC Forum. MfG Falk
Wenn du das Datum und die Uhrzeit nicht für mathematische berechnungen brauchst, also nur für Anzeige und Alarme, dann würde ich die Uhr und das Datum direkt in ASCII realisieren. Also z.B. die Sekunden '0' bis '9', als ASCII-Zeichen hochzählen. Ist zwar programmtechnisch etwas aufwändiger, aber bei der Ausgabe wird's dafür umso einfacher.
Die berechnungen hatte ich auch schonmal in BASCOM geschrieben. Fehlt nur noch der interrupt einmal pro sekunde... schaltjahr, wochentag etc alles drin
@Peter Dannegger Unter welchem Stichwort sind sie versteckt, ich find da leider nix :-(
Wäre es denn nicht am besten, die Datum und Zeitinformationen aus dem DCF77 Signal abzuleiten?
@ Holger Krull >Wäre es denn nicht am besten, die Datum und Zeitinformationen aus dem >DCF77 Signal abzuleiten? Wenn er aber kein DCF77 will? Ein normaler Quarz tuts auch für die meisten Anwendungen. MfG Falk
hans0815 wrote: > @Peter Dannegger > Unter welchem Stichwort sind sie versteckt, ich find da leider nix :-( Beitrag "Zeit + Temperatur auf LCD mit AVR" Beitrag "Standard LCD über nur 3 Drähte" Beitrag "Berechnung Datum + Uhrzeit + Sommerzeit" Peter
Nur noch mal zur Ergänzung: Wer mit C hantiert, sollte i.d.R. auch die C-Bibel besitzen. In meiner Ausgabe (erste deutsche Übersetzung) ist sowas beschrieben...
Wo ist das Problem einfach eine Byte Variable für die Tage, eine für die Monate und eine Word Variable für die Jahre zu verwenden? Allenfalls die Monatslänge richtig zu bestimmen erfordert ein paar zusätzliche Abfragen.
Ich bin auch gerade dabei, eine Schaltuhr mit Datum zu bauen. Die berechnung des Wochentags habei ich nach http://de.wikipedia.org/wiki/Wochentagsberechnung realiesiert. Da ich aber kein C behersche und BASCOM in der freien Version nur begrenzten Quelltext erstellen kann, habe ich das alles in Assembler geschrieben. MfG Toni
ich finde, es gibt nur 2 sinnvolle Arten von Uhren: DCF77 oder eine gepufferte RTC. Lässt du das ganze im MC laufen, geht es ohne Pufferung auch nicht. Aufs Netz ist zunehmend weniger Verlass (ich habe ne Backup-Platte im Netzwerk, die läuft nicht von allein wieder an, wenn der Strom weg war :-)), so eine kleine I2C-RTC kostet nur ein paar Cent, ich nehme fast nur den M41T81.
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.