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.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...







Zitieren

Lesezeichen