Forum: Mikrocontroller und Digitale Elektronik DCF77 BASCOM kein sync der SoftClock


von snowfly (Gast)


Lesenswert?

Hallo Forum,

jetzt bastle ich schon den ganzen Tag an der DCF77 Funktion.
Vielleicht hat jemand von euch nen Tip für mich.

Mein Problem ist:
Die Uhrzeit und Datum wird anscheinend empfangen und auch decodiert
aber die Softclock wird nicht syncronisiert mit der empfangenen Uhrzeit
1
$regfile = "M48def.dat"
2
$crystal = 8000000
3
4
$hwstack = 128
5
$swstack = 128
6
$framesize = 128
7
8
9
$baud = 19200
10
11
'Set LCD
12
Config Lcd = 20 * 4
13
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portd.7 , Rs = Portd.5
14
Config Pind.6 = Output
15
Portd.6 = 0                                                 'set R/W
16
Initlcd
17
Cls
18
Cursor Off Noblink
19
20
21
'Config Dcf77 = Pind.2 , Debug = 1 , Inverted = 0 , Check = 2 , Update = 0 , Updatetime = 30 , Switchpower = 0 , Secondticks = 50 , Timer1sec = 1 , Powerlevel = 1 , Timer = 1
22
Config Dcf77 = Pind.2 , Timer = 1 , Timer1sec = 1 , Debug = 0 , Inverted = 1 ,  Update = 0
23
24
Enable Interrupts
25
Config Date = Dmy , Separator = .
26
27
28
Dim I As Integer
29
Dim Sec_old As Byte , Dcfsec_old As Byte
30
31
Sec_old = 99 : Dcfsec_old = 99                              ': DCF_Debug_Timer = 0
32
33
' Testroutine für die DCF77 Clock
34
Locate 1 , 1
35
Lcd "Test DCF77 Version 1.00"
36
Do
37
  For I = 1 To 78
38
    Waitms 10
39
    If Sec_old <> _sec Then
40
        Exit For
41
    End If
42
    If Dcfsec_old <> Dcf_sec Then
43
        Exit For
44
    End If
45
  Next
46
  Waitms 220
47
  Sec_old = _sec
48
  Dcfsec_old = Dcf_sec
49
  Cls
50
  Locate 1 , 1
51
  Lcd Time$ ; " " ; Date$ ; " "
52
  Locate 2 , 1
53
  Lcd Time(dcf_sec) ; " "
54
  Locate 2 , 10
55
  Lcd Date(dcf_day) ; " " ;
56
  Locate 4 , 1
57
  Lcd Bin(dcf_status) ; " "
58
  'Locate 3 , 1
59
  'Lcd Bin(dcf_bits) ; " "
60
  'Locate 3 , 1
61
  'Lcd Bdcf_impuls ; " " ; Bdcf_pause
62
Loop
63
End

der code entspricht im wesentlichen dem Beispielcode aus der Hilfe.

In der ersten Zeile wird die Zeit mehr oder weniger genau 
hochgezählt(SoftClock)
in Zeile 2 erscheint nach einer Minute die über DCF empfangene Zeit und 
Datum(die stimmt auch)
aber die Softclock wird erst nach 1-2 Stunden syncronisiert.

Woran kann das noch liegen?


Danke schonmal.

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
Noch kein Account? Hier anmelden.