Ich grüße euch Hab da mal ein paar Fragen bezüglich DCF77 auswertung. Da ich relativ neu "dabei" bin und ich ein projekt machen muss dachte ich ich stell mal mein anliegen hier rein bin da jetzt seit ein paar tagen dran es auzuwerten!! (DCF von ELV / Controller Phillips LPC936 / compailer Keil uvision 3 ) also hab das Dcf an P0.5! (zuvor getestet ob ich signal bekomme(tue ich)). jetzt wollt ich mir die werte auf nem 4x20 ausgeben aber irgendwie zählt der sekundenzähler nur bis 1 und das wars!! der cursor springt dann immer von zeile 1 auf 2 und wieder zurück! vielleicht könnt ihr mal einen blick auf die anlage werfen und mir behilflich sein!! wäre euch wirklich sehr dankbar!! grüße simon
Der Code ist echt undurchsichtig... unwartbar. Hat der überhaupt schonmal funktioniert? Ich empfehle, eine andere strategie beim DCF-Dekodieren zu fahren: Ein Portpin (mit dem DCF-Signal) wird so programmiert, das er bei jedem Zustandswechsel einen Interrupt auslöst. Die Low-High-Auswertung funktioniert über einen Timer, der Systemtakte zählt. In der Interrupt-Routine wird erstmal der Timerwert zwischen gespeichert und den Timer selbst sofort zu nullen, damit eventuelle längere Laufzeiten den Timerwert nicht verfälschen. Jetzt kann man abfragen, ob der Portpin gerade von low auf high oder von high auf low. Über den zwischengespeicherten Timerwert können wir nun ermitteln, wie lange das DCF-Signal im vorherigen Zustand verharrt hat. Mit dieser Information ist alles grundlegende gegeben um nun die volle Auswertung zu fahren und die DCF-Zeit zu dekoden. Im Anhang befindet sich ein DCF-Dekoder von mir, der nach diesem Schema die Zeit dekodiert. Allerdings für einen ATMega8. Du wirst also den Quellcode ohne Anpassungen nicht verwenden können, aber er soll ja auch nur demonstrieren, wie es funktioniert. Der Dekoder ruft übrigens die Funktion setclock(minute,stunde); auf, wenn er sich einigermaßen sicher ist, die richtige Zeit empfangen zu haben und setzt das Flag "outasync" auf 0.
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.