Hallo zusammen, Im moment bin ich an einem Schulprojekt beschäftigt und zurzeit an der programierung der funk-uhr am knabbern. Folgendes: ich verwende das DCF01-Modul um die Uhrzeit von Frankfurt zu empfangen und möchte diese auf einem LCD-Display wiedergeben. Kann sich jemand den Code mal näher unter die Lupe nehmen und mir bitte bescheid geben woran es scheitert dass die Uhr nicht zählt... wäre euch sehr dankbar;) Mit freundlichen Grüßen Mathias K
Hi, bist Du sicher, dass die Hardware überhaupt sauber arbeitet? Du verwendest Spannungsregler ohne Kondensatoren. Gibt das Empfängermodul denn überhaupt ein Signal aus? Diese Dinge solltest du erst einmal testen und danach die Software stückweise testen.
Wo ist die Timerinitialisierung versteckt? Sollte ein DCF-Takt kommen, wo wertest du ihn aus?
Mit der Hardware hast du wohl recht bezüglich den Kondensatoren aber dieser Aufbau verwende ich bloß zuhause für die Heimarbeit Da ich eigentlich in der Schule mit dem STK500 arbeite und dort das selbe resultat habe Vom Empfangsmodul habe ich mittels einem Oszi schon ein binäres signal gemoßen. Mir speziell hängt es bloß am Programm weil der Timer nicht sauber arbeitet und der controller mitten im CODE stehen bleibt... weil eigentlich sollte die Uhr auch ohne Empfangsteil selbstständig zählen da die Uhrzeit nur durch das Signal "aktualisiert" wird MfG Mathias
>Wo ist die Timerinitialisierung versteckt?
Wenns nur das wäre;)
usart.h
#define SYSCLK 12000000UL
Uhr_Program.c
#define F_CPU 1000000UL //CPU-Takt im MHz
lcd-routines.h
#ifndef F_CPU
#define F_CPU 3686400
#endif
Ja, was denn nun? Mit welchem Takt läuft der uC.
ISR(TIMER1_OVF_vect) //Interruptroutine für Uhrzeit
{
....
_delay_ms(1000);
Ein _delay_ms im Timerinterrupt. Pfui Deibel.
Mal abgesehen davon das CTC für eine Uhr besser ist als Overflow.
Hallo Hubert werde mich morgen wieder melden wenn es dann noch ein Problem gibt da ich momentan keinen ISP-Programmer bei mir habe um es zu testen Die Auswertung findest du im clock.h und die initialisierung hat mir allerdings gefehlt... Vielen Dank;) Mfg Mathias
Hallo Hr Holger Habe mir die CTC-Funktion durchgelesen Muss dazu sagen dass ich diese funktion gar nicht gekannt habe und jetzt doch von ihr überzeugt bin Man stoßt ja immer wieder auf neue Dinge.... Danke;) MfG Mathias
Mathias K schrieb: > Die Auswertung findest du im clock.h Du solltest nicht vergessen die clock.c auch zu integrieren.
Muss ich auch bei diesem programm den int0 als eingang definieren? Wenn ja, "wie"? MfG Mathias
Hallo zusammen, Kann mir bitte jmd weiterhelfen? habe jz das ganze nochmal komplett zusammengestellt Aber wie ich gesehen habe, funktioniert dies immer noch nicht richtig Hardware ATMEGA32 DCF-Empfangsmodul DCF1 -> aud PD2 LCD 1602 Ich benötige diese temperaturfunktion nicht da ich nur die Zeit benötige. Darum habe ich diese funktion deaktiviert und den I2c-bus weggelassen Das mit der Frequenz ist mir noch nicht ganz klar... Wäre euch sehr dankbar mfg Mathias
Ich habe mir dur kurz die "dcfm8.c" Angeschaut. Die ISR ist Kurz, ok, nur ein Funktionsaufruf. Aber diese Funktion ist zu lange. Da gehen bestimmt einige INTs verloren?
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.