Hallo,

ersmal hier das Programm:

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
-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.

- 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