Hallo,
ersmal hier das Programm:
-Die Daten sende ich per RN-Controll auf das Terminal in Bascom AVR auf meinem PC. Dort ändert sich auch im Bereich der Sekunden garnichts. Es kommen immer die selben Werte.Code:'############################################################## 'DCF_Decoder3.bas ' 'Das Programm liest die Uhrzeit aus dem digetalen DCF-Decoder aus 'und gibt die Zeit über RS232 aus 'Den digitalen DCF Decoder gibt es nur bei Robotikhardware.de 'Es muss lediglich PIN PD7 mit dem DOUT Pin des Chips DCF-RS1 verbunden werden 'Natürlich auch GND und VCC ' 'Wenn ein USB Modul an RN-AVR UNIVERSAL angesteckt oder eingelötet wurde 'dann wird das Ergebnis über USB zu einem virtuellen COM Port übertragen 'und kann auch mit allen Programmen oder Terminalprogramm empfangen werden ' ' (c) Frank roboternetz.de 'Bezug: www.robotikhardware.de 'Weitere Beispiele auf DVD oder im www.Roboternetz.de und rn-wissen.de '###################################################################### Declare Sub DCF_UhrzeitLesen() '$programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer) $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 8000000 'Quarzfrequenz $baud = 9600 'Baudrate (Übertragungsgeschwindigkeit) 'Baud = 9600 Config Pind.6 = Output 'LED Led1 Alias Portd.6 'Diese Variablen enthalten nach dem Abruf die Uhrzeit und Datum Informationen Dim uhr_sek As byte Dim uhr_min As byte Dim uhr_std As byte Dim uhr_tag As byte Dim uhr_monat As byte Dim uhr_jahr As byte Dim uhr_wochentag As byte Dim uhr_sommerzeit As byte Dim uhr_zeitumschaltung As byte Dim uhr_sync As byte dim bstart as byte 'Enthaelt Byte Zeilenanfang immer 126 dim bende as byte 'Enthaelt Byte Zeilenanfang immer 127 dim zeitgueltig as byte zeitgueltig=0 wait 1 Do DCF_UhrzeitLesen if zeitgueltig=1 then Print "Heute haben wir den: "; uhr_tag;".";uhr_monat;".";uhr_jahr;" ";uhr_std;":"; uhr_min;":";uhr_sek;" Wochentag:";uhr_wochentag if uhr_sommerzeit=1 then print "Es gilt Sommerzeit!" print "Die Uhr wurde von "; uhr_sync; " Minuten per Funk verglichen" print endif Wait 3 toggle led1 Loop 'Hilfsfunktion 'Diese Funktion ruft der Zeit im binären Modus ab 'und uerbergibt diese den globalen Uhr Variablen Sub DCF_UhrzeitLesen() Config Pind.5 = Input if Pind.5 =1 then 'DCF Uhrzeit bereits vorhanden? 'Kurz auf GND setzen um DCF Decoderzeit ausgeben zu lassen Config PORTD.5 = output PORTD.5=0 waitus 1 Config Pind.5 = Input Open "comd.5:2400,8,n,1" For input As #1 Inputbin #1,bstart,uhr_tag,uhr_monat,uhr_jahr,uhr_std, uhr_min,uhr_sek,uhr_wochentag,uhr_sommerzeit,uhr_zeitumschaltung,uhr_sync,bende Close #1 Config Pind.5 = Input uhr_tag=uhr_tag-65 uhr_monat =uhr_monat-65 uhr_jahr =uhr_jahr-65 uhr_std=uhr_std-65 uhr_min =uhr_min-65 uhr_sek =uhr_sek-65 uhr_wochentag = uhr_wochentag-65 uhr_sommerzeit=uhr_sommerzeit-65 uhr_zeitumschaltung=uhr_zeitumschaltung-65 uhr_sync=uhr_sync-65 zeitgueltig=1 else Print "Zeit noch nicht verifiziert!" zeitgueltig=0 endif end sub
- Einen Mode am IC habe ich nicht gewählt - Also Pin 1 nicht beschaltet = als Text ausgeben, wobei ich die Anleitung so verstanden habe das der Mode Pin nur für Pin 5 ist, der 1mal die Minute die Daten per RS232 aussendet.
Ich habe jedoch Pin 7 "DOUT" Mit der RN Controll verbunden um die Daten geziehlt im Birärcode abzugragen.
- GND ist mit dem Empfäger und dem IC verbunden. Ich nutze für beides die 5V DC die an der RNControll zur verfügung stehen.
- "uhr_z eitumstellung" ist richtig geschrieben
- In Bascom kommen werden keine Fehler angezeigt. Sobald ich einen falschen Befehl zum testen in den Code reinschreibe, wird ein Fehler angzeigt = Fehlerausgabe in Bascomeinstellungen aktiviert?!
Ich hoffe wirklich das ihr mir weiterhelfen könnt. Ich kann einfach nicht verstehen, woran der Fehler noch liegen könnte
Viele Grüße
Dominik







Zitieren


Lesezeichen