Ok, danke!
"Curser off" ist klar
Ich glaub Lowerline und und Upperline statt "locate x,y" sollten deckungsgleich sein. Jedenfalls sind die beiden erstgenannten Befehle in der Hilfe explizit aufgeführt. Ich hab's mal getetstet und alles durch locate Befehle ersetzt - leider gleiches Ergebnis.
Initlcd braucht man IMHO nicht - die Hilfe sagt dazu folgendes:
hwstack, swstack und framesize hatte ich bei den Compileroptionen eingetragen - greift dann ja hoffentlich auch. Sicherheitshalber hab ich es jetzt nochmal in den Code übernommen.Zitat:
The LCD display is initialized automatic at start up when LCD statements are used by your code.
If fore some reason you would like to initialize it again you can use the INITLCD statement.
Config Debounce brauch ich doch auch nur, wenn ich nicht die 25ms Standardzeit haben will, oder?
Mein Code sieht jetzt so aus: (Die LED-aufrufe sind zu debugzwecken)
Code:$regfile = "m16def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 10
$framesize = 40
'**** Konstanten ****
Const Fw_rev = "0.9"
'**** LCD Initialisieren ****
Dim ___lcdno As Bit
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.5 , Db6 = Porta.7 , Db7 = Porta.2 , E = Porta.0 , Rs = Porta.1
'**** Variablendeklaration ****
Config Debounce = 30
'**** Ports etc. Parametrieren ****
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.2 = Input
Config Portd.3 = Input
Config Pind.0 = Input
Config Pind.1 = Input
Config Pind.2 = Input
Config Pind.3 = Input
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
'**** Sprungverteiler
Initlcd
Cls
Cursor Off
Do
Locate 1 , 1
Lcd " *** Test 1 *** "
Locate 2 , 1
Lcd "Lrn Prg Tst Fw?"
Debounce Pind.0 , 0 , Pr , Sub
Portb.2 = 1
Loop
End
Pr:
Cls
Locate 2 , 1
Lcd "test1"
Portb.0 = 1
Wait 1
Portb.1 = 1
Return
Leider gleiches Ergebnis - funktioniert nicht. Die LEDs zeigen mir, dass er zum Label springt.
Wie ist denn das? Der Code wird doch sequenziell abgearbeitet, oder? Eigentich sollte doch der Code zwischen Do ... Loop erst weiter ausgeführt werden wenn mit return aus dem Sub zurückgesprungen wird, oder?
Wenn das nämlich nicht so wäre, dann würde ja u.U. schon wieder der alte Texte ins Display geschieben...