Hallo
habe mir nun mal eine Conrad DCF-77 modus geleistet und wollte es in mein Projekt einarbeiten. Aber ich bekomme keine empfan hin zumindest bekommt der Atmega kein Signal
Ich habe am Modul einen Pull up von 4,7k zwischen Spannung und Ausgang (nicht invertert) diesen hab ich mit pin F.0 am Atmega verbunden.
Zusätlich hab ich noch eine LED am selben ausgang des DCF moduls damit ich sehe ob das Modul Empfang hat und diese blinkt schön gemüdlich in Sekunden takt vor sich her.
Bei Status steht immer nur 48 ab und an kommt mal 49 aber eher ganz selten
habe mir nun mal eine Conrad DCF-77 modus geleistet und wollte es in mein Projekt einarbeiten. Aber ich bekomme keine empfan hin zumindest bekommt der Atmega kein Signal
Ich habe am Modul einen Pull up von 4,7k zwischen Spannung und Ausgang (nicht invertert) diesen hab ich mit pin F.0 am Atmega verbunden.
Zusätlich hab ich noch eine LED am selben ausgang des DCF moduls damit ich sehe ob das Modul Empfang hat und diese blinkt schön gemüdlich in Sekunden takt vor sich her.
Bei Status steht immer nur 48 ab und an kommt mal 49 aber eher ganz selten
Code:
$regfile = "m1280def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 8
$framesize = 24
Dim Takt As Byte , Takt_alt As Byte
Dim Sekunde1 As String * 8
Dim Tag1 As String * 8
Dim Sekunde As Integer
Dim Tag As Integer
Dim Status As Byte
Dim Parity As Byte
Dim Menge As Byte
Dim I As Integer
Dim Sec_old As Byte , Dcfsec_old As Byte
Config Timer1 = Timer , Prescale = 1024
Config Lcd = 16 * 4
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.0 , _
Db7 = Porta.2 , E = Porta.3 , Rs = Porta.1
Initlcd
Cls
Config Dcf77 = Pinf.0 , Timer = 1 , Timer1sec = 1 , Debug = 1 , Update = 0 , Check = 1 , Inverted = 0 , Gosub = Sectic
Config Date = Dmy , Separator = .
On Timer1 Sectic
Load Timer1 , 15625
Enable Interrupts
Enable Timer1
Start Timer1
Sec_old = 99 : Dcfsec_old = 99
Do
If Takt > 59 Then Takt = 00
For I = 1 To 78
Waitms 10
If Sec_old <> _sec Then
Exit For
End If
If Dcfsec_old <> Dcf_sec Then
Exit For
End If
Next
Waitms 220
Sec_old = _sec
Dcfsec_old = Dcf_sec
Locate 1 , 1
Lcd Time$
Locate 2 , 1
Lcd Date$
Sekunde = Time(dcf_sec)
Sekunde1 = Str(sekunde)
Tag = Date(dcf_day)
Status = Bin(dcf_status)
Parity = Bin(dcf_parity)
Menge = Bin(dcf_bits)
Locate 1 , 15
Lcd Takt
Locate 1 , 10
Lcd "Takt"
Locate 2 , 15
Lcd Sekunde
Locate 2 , 10
Lcd "Sec"
Locate 3 , 15
Lcd Dcf_sec
Locate 3 , 1
Lcd "DCF Sec"
Locate 4 , 15
Lcd Status
Locate 4 , 1
Lcd "Status"
If Dcf_sec > 10 Then
Reset Dcf_status.7
End If
'Kontrolle mit der LED
If Dcf_status.7 = 1 Then
Portb.3 = 0
Else
Portb.3 = 1
End If
Loop
End
Sectic:
Load Timer1 , 15625
Takt = Takt + 1
Return
End