Hmm... kP.
habe dir hier aber mal mein Code, der funktionierte, anhand dem Tut:
Code:
' =================== CONTROLLER-KONFIG ===================
$regfile = "m8def.dat"
$framesize = 24
$swstack = 8
$hwstack = 32
$crystal = 16000000 ' 16 MHz
$baud = 9600 ' BAUD-Rate für RS232: 9600
$external _soft_clock ' Dieser Befehl bindet den Code der Original-Uhrenroutine ein
' =================== UHR ===================
Config Clock = User ' Teilt dem Compiler mit, daß eine eigene Uhrenroutine verwendet wird
' Die internen Variablen _hour, _min, _sec, _day, _month, _year werden erzeugt
Const _sectic = 0 ' Keine Sectic Sub verwenden
Config Date = Dmy , Separator = . ' Datum auf deutsches Format einstellen
Config Timer1 = Timer , Prescale = 256 , Clear Timer = 1 ' Clear Timer setzt Timer1 bei Erreichen des Comparewertes auf 0 zurueck
Const Ctc_value =(_xtal / 256) - 1 ' Berechnen des Compare-Wertes, bei dem Timer1 zuruecksetzt
Compare1a = Ctc_value ' Comparewert setzen
Enable Compare1a ' Compare-ISR erlauben
On Compare1a Timer1_clock_isr Nosave ' Definitition des Labels fuer Timer1 Compare-ISR
Time$ = "17:15:00" ' Stellen der Uhrzeit auf einen Beispielswert
Date$ = "14.04.11" ' Stellen des Datums auf einen Beispielswert
Dim Curr_sec As Byte ' Hier wird die aktuelle Sekunde gemerkt
Curr_sec = 255 ' Initialisieren mit einem fuer _Sec nicht vorkommenden Wert
' =================== HAUPTSCHLEIFE ===================
Do
Loop
' =================== SUB: Timer1_Clock_ISR ===================
Timer1_clock_isr: ' Falls eigener Code eingefuegt werden soll, der vor der Uhrenroutine sekuendlich
Pushall ' ausgefuehrt wird, so muss mit PUSHALL/POPALL die Sicherung der Register erfolgen
' #### Hier kann aehnlich wie bei "CONFIG CLOCK = soft, GOSUB = SECTIC" eigener Code eingefuegt werden ####
Popall ' Ohne eigenen Code kann PUSHALL/POPALL auskommentiert werden, das spart Stack
' und Ausfuehrungszeit
!jmp _soft_clock ' Ruft Bascom's Uhrenroutine auf
Return ' Nur vorhanden, damit es huebscher aussieht, dieses Return wird aber nie verwendet
Getdatetime: ' Um Bascom's Routinen zum Stellen der Uhr, wie Time$ = ... verwenden zu koennen,
Return ' muessen folgende Label als leere Subs vorhanden sein
Settime:
Return
Setdate:
Return
End
Lesezeichen