
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > > Hallo habe eine Micro Version 2.01 > > Habe leider erfolglos versucht meiner Micro die Uhrzeit mittels DCF Antenne beizubringen. > > Warum nimmst die nicht die Demo zur Micro um zumindest zu schauen ob die > Hardware geht? > > Bye > Yazo Chuul > > > '-------------------------------------------------------------------- > ' ERWEITERUNG: BASIC-SYSTEMERWEITERUNG DCF-SYNCHRONISATION - > ' RXD - > '-------------------------------------------------------------------- > ' Diese Demo ladet die BASIC-SYSTEMERWEITERUNG "PAGE0_EXT1.S19" > ' und zeigt wie die RTC der MICRO mit einer DCF-Uhr synchronisiert wird. > ' Der Aufruf SYS DCFSYNC startet die Synchronisation, die nach ca. 2 Minuten > ' abgeschlossen ist. > ' Zur Kontrolle wird über die serielle Schnittstelle der Inhalt der RTC ausgegeben > ' and mit LED 5 die Pulse am DCF-Eingang sichtbar gemacht. > ' Mit dieser Erweiterung wird auch der Befehl RXD freigeschaltet der anzeigt, ob > ' die Uhrzeit Synchronisiert ist. > ' Verwendet wird er z.B. so: > ' > ' if RXD then goto SYNC > ' if NOT RXD then goto UNSYNC > > ' In unserem Beispiel wird der BEEPER aktiviert wenn die Uhrzeit synchronisiert ist. > ' Nach der Synchronisation läuft die Uhrzeit mit RTC-Genauigkeit weiter, sodass > ' Sie SYS DCFSYNC entsprechend den Anforderungen an die Genauigkeit der RTC häufiger > ' aufrufen müssen. > ' Wenn die RTC einmal synchronisiert ist, wird der Interrupt abgeschaltet und muss für > ' eine erneute Synchronisaton mit SYS DCFSYNC aktiviert werden. > ' Gleichzeitig wir damit RXD auf false gesetzt und erst wieder true, wenn die Uhr > ' erneut synchron ist. > > ' EINSCHRÄNKUNGEN: > ' Die DCF Synchronisation betrifft nur die Uhrzeit. Datum und Wochentag werden > ' nicht synchronisiert, da hierfür im System keine Variablen vorgesehen sind. > ' Benötigen Sie in Ihrer Anwendung das Datum, so können sie dieses mit einem > ' kleinen Unterprogramm erzeugen und in den Variablen ablegen. > ' !! Die Synchronisation beeinhaltet keine Korrektur von Übertragungsfehlern !! > ' Wenn Sie die Uhreit hundertprozentig sicher anzeigen zu wollen, müssen Sie > ' für eine Verifizierung mehrer Rahmen selbst Sorge tragen. > ' > ' > ' ACHTUNG: > ' Das Treiberprogramm läuft interruptgesteuert im Hintergrund, auf der > ' SYSCODE PAGE 0 > ' Deswegen verringert sich die max. Länge des nutzbaren Basicbereiches um 256 Bytes > ' also auf 1792 Bytes. Als Benutzer müssen Sie selbst darauf achten´, dass durch ein > ' überlanges BASIC-Programm der Maschinencode auf Page0 nicht überschrieben wird. > ' Der SYSCODE muss nur ein einziges Mal geladen werden. Er verbleibt dann resident > ' im Speicher. > ' Das angeschlossene DCF-Uhrenmodul muss während der Sekundenimpulse von HI auf LO tasten. > ' > '----------------------------------------------------------------------- > ' SIE DÜRFEN DIESEN TREIBER NUR LADEN, WENN DIE PAGE0/1 NICHT VON ANDEREN > ' TREIBERN/SYSTEMERWEITERUNGEN, DIE SIE BENÖTIGEN, BELEGT IST ! > ' Der Treiber ist nicht für die MICRO mit der OS-Version 2.00 geeignet > '--------------------------------------------------------------------- > '-------------------------- > '------ I/O PORTS --------- > '-------------------------- > define DCFIN port[4] > define TASTER port[3] > define LED port[5] > define BEEPER port[6] > define ADC1 ad[1] > define ADC2 ad[2] > define ADC5 ad[5] > define ADC6 ad[6] > '-------------------------- > '---- SYSTEM MEMORY ------- > '-------------------------- > define OLD_SEC byte[1] > define a byte[2] > '-------------------------- > '---- SYSTEM JUMPS ------- > '-------------------------- > define DCFSYNC &HFD09 > > > SYS DCFSYNC > '------- DIE UHR EINSTELLEN --------------------- > LED=on:HOUR=0:MINUTE=0:SECOND=0:baud 9600:pause 5:print"START" > '-------------------------------------------------- > ' CHECKING THE REALTIME CLOCK ACCURACY - > '-------------------------------------------------- > > #TICKING > IF DCFIN=off then LED=on > if DCFIN=on then LED=off > if OLD_SEC = second then goto TICKING > > #BLINK > OLD_SEC=second > print HOUR;:print":";:print MINUTE;:print ":";:print SECOND > if RXD then beep 100,5,BEEPER > goto TICKING > > > > > syscode "page0_ext1.s19" > > hab ja die systemerweiterung geladen. Aber bei meiner Doco ist für DCFSYNC ein anderer Wert angegeben? const DCFSYNC=FD09h Welche ist die richtige? |
| Antwort schreiben |