PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Time$ weiter laufen lassen



Sungod
11.12.2015, 20:58
Hallo,

Habe wiedermal eine Frage, hab mir schon die Finger wund gesucht,

Bin bei einem Multifunktionsdisplay bei, 10cm hohe 6x 7-Segment-LED Displays werden mit einem MAX7219 gemultiplext.
Ein z.z. Mega8 mit int. Takt (später mit Quarz)) empfängt von einem BME280 die Temperatur, Luftdruck und Luftfeuchtigkeit, von einem DS18B20 eine zweite Temperatur und vom DCF-77-Modul die Uhrzeit.
Jeder Wert (Temperatur1, Luftdruck, Luftfeuchte, Temperatur, Uhrzeit) wird alle 2 Sekunden angezeigt.

Soweit läuft alles perfekt, solange ein DCF-77 Signal da ist.

So nun zu meinem Problem.
Wenn das DCF Signal mal schlecht wird, wird die Zeit nicht in "Time$" übergeben. nun läuft aber "Time$" nicht von alleine weiter.Is ja blöd bei einer Uhr....
Kann ich irgendwie z.B. "_sec = _sec + 1" weiter Zählen lassen?
Ich benutze: Config Dcf77 = Pinb.2 , Timer = 1 , Timer1sec = 1 , Debug = 1 , Update = 0 , Inverted = 1 , Gosub = Sectic
Daher habe ich ja mit "Sectic" schonmal eine SUB die jede Sekunde angesprungen wird.

Also ich möchte einfach nur das die Interne variable "Time$" weiter läuft.

Danke schonmal,
Grüße

i_make_it
12.12.2015, 08:31
Eine Möglichkeit wäre:
https://www.roboternetz.de/community/threads/65057-RN-Controll-DCF-RS232-Wandler-DCF-RS1
"sozusagen outsourcing".

http://www.robotikhardware.de/download/DCF_RS1.pdf

peterfido
13.12.2015, 10:49
Evtl. redest Du von dem mir bekannten Bug.

Die Uhr läuft schon weiter, wird aber nicht nach Time$ aktualisiert. Dafür einfach mal die Variablen der Uhr in eine Dummy-Variable lesen hat bei mir geholfen. Dabei passiert dann auch 'intern' die Aktualisierung zwischen Time$ und den einzelnen Variablen. Habe meinen Code gerade nicht zur Hand, da ich DCF vor einiger Zeit 'aufgegeben' habe. Evtl. reichte es auch, Time$ in eine Stringvariable zwischenzuspeichern und diese dann anzuzeigen.

Sungod
14.12.2015, 11:14
also ich habe es jetzt folgendermaßen gelöst...

config DCF77 .........
Dim Uhrzeit as String * 8
...
...
...

Do
Uhrzeit = Time$
...
...
Loop

is zwar nicht optimal...aber es geht

Danke nochmal an alle