Hi nochmal.
Also, jetzt klappt alles bestens, es gibt nur noch ein Problem.
Hier der Code:
Code:
define Datenbus byteport[1]
define RS port[9]
define RW port[10]
define E port[11]
define Daten byte ' Pufferbyte
define r1 byte
'---------------------------------------------------------
gosub Init 'Display Initialisieren
Daten = 0 'Den Cursor des Displays...
gosub Cursor '... Auf Position 0 stellen!
'---------------------------------------------------------
#loop
GET r1
if r1 = &H31 then goto 2 else goto falsch ' &H31 gleich 49 gleich "1"
#2
GET r1
if r1 = &H46 then goto 3 else goto falsch '&H46 gleich 70 gleich "F"
#3
GET r1
if r1 = &H30 then goto 4 else goto falsch 'Admin und 2. Test Karte
#4
GET r1
if r1 = &H30 then goto 5 else goto falsch 'Admin und 2. Test Karte
#5
GET r1
if r1 = &H34 then goto 6 else goto falsch 'Admin und 2. Test Karte
#6
GET r1
if r1 = &H34 then goto 7 else goto falsch 'Admin und 2. Test Karte
#7
GET r1
if r1 = &H45 then goto 8 'Admin
if r1 = &H43 then goto 8 else goto falsch '2. Test Karte
#8
GET r1
if r1 = &H38 then goto 9 'Admin
if r1 = &H31 then goto 9 else goto falsch '2. Test Karte
#9
GET r1
if r1 = &H38 then goto 10 'Admin
if r1 = &H41 then goto 10 else goto falsch '2. Test Karte
#10
GET r1
if r1 = &H32 then goto open 'Admin
if r1 = &H39 then goto open else goto falsch '2. Test Karte
'----------------------------------------------------------------------
' UNTERPROGRAMME:
#falsch
r1 = 0
Daten = &H46 'F
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H48 'H
gosub Zeichen
Daten = &H4C 'L
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H52 'R
gosub Zeichen
pause 100
gosub cls
goto loop
#open
r1 = 0
Daten = &H4F 'O
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H46 'F
gosub Zeichen
Daten = &H46 'F
gosub Zeichen
Daten = &H4E 'N
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
pause 100
gosub cls
goto loop
'###################LCD Routinen##################
#Init
E=0
Daten = &H38 'Initialisierung
gosub Kommando
Daten = &H0E 'Display einschalten
gosub Kommando
Daten = &H01
gosub Kommando
return
#Kommando
RW = 0
RS = 0
Datenbus = Daten
pulse E
return
#Zeichen
RW = 0
RS = 1
Datenbus = Daten
pulse E
return
#Cursor
RW = 0
RS = 0
Datenbus = Daten + &H80
pulse E
return
#cls ' Display loeschen
Daten = &H02
gosub Kommando
return
'#Ausgabe 'zweistellige Zahl
'Daten = (Zahl / 10) + 48
'gosub Zeichen
'Daten = (Zahl mod 10) + 48
'gosub Zeichen
'return
'end
Und wenn ich eine Karte an den Leser halte kommt auf dem Display "OEFFNE". Aber kurz danach erscheint auf dem Display "FALSCH". Und das bleibt da auch. Manchmal kommt noch kurz OEFFNE, aber direkt danach wieder Falsch.
Wo liegt denn jetzt hier wieder der Fehler?
MfG
xythobuz
Lesezeichen