Picknick hat Dir den Tip schon gegeben - aber leider bist Du nicht tiefer eingestiegen.
Du kannst solche Probleme jederzeit als Codeausschnitt (Restore + Read/Read/Read etc) im Simulator debuggen.
das sieht dann so aus:
Code:
$regfile = "m48def.dat"
$crystal = 8000000
$baud = 19200
$hwstack = 32
$swstack = 8
$framesize = 24
Dim Lcd_textbuffer As String * 32
Dim Options_id As Integer
Dim Array_id As Byte
Dim Change_allow As Integer
Restore P1_1_edit
Read Lcd_textbuffer 'read LCD text
Read Options_id
Read Array_id 'Identifier für Array Information
Read Change_allow
Print Lcd_textbuffer
Print Options_id
Print Array_id
Print Change_allow
End
Const Title1 = "Hallo"
P1_1: 'Programm 1
Data Title1
Data 1% 'Aktulee Zeile (Hervorheben)
Data $10
Data 0%
P1_1_edit:
Data Title1
Data 1% 'Aktulee Zeile (Hervorheben)
Data $10
Data 1% 'Change_allow
die Simulator Ausgabe ist:...und schon sehen wir Data $10 belegt 2 Bytes und ist somit keine Byte!! (Das Low Byte rutschte eine Position zum High Byte herüber)
Übrigens: Ich wusste gar nicht, das Bascom Konstanten mit "dollar sign" frisst. Ich habe dazu nichts im Manual gefunden. Ist das eine undokumentierte Syntax?
Lesezeichen