Hallo Community!
Han mal wieder ein Problem.
Ich hab meinen 32 er und 8 er per RS232 direkt verbunden und tausche Daten aus , die ich in einer Caseanweisung weiterverarbeite.
Folgendes Problem:
Bisher hab ich einen String mit fester Länge gezählt und beim Empfang des letzten Bytes springt es in die Caseanweisung.
Wie ist es möglich einen String mit variabler Länge zu übertragen?
Code:
$regfile = "m32def.dat"
$crystal = 8000000
$baud = 19200
Dim S_cmd As String * 5 'für RS232
Dim B_cmd(5) As Byte At S_cmd Overlay 'Liegt auf der Adresse des Strings s! RS232
Dim N As Byte 'zähl variable RS232
On Urxc Onrxd
Enable Urxc
Enable Interrupts
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
Cursor Off
If N < 6 Then
Select Case S_cmd
Case "Start" '
Goto Lcd1
Case "Graph"
Goto Graph1 ' + Chr(13);
End Select
N = 0
S_cmd = " "
End If
Lcd1:
Locate 1 , 1 : Lcd "Wilkommen zu Bertls GLCD"
Locate 2 , 1 : Lcd "Bascom T6963c support"
Locate 3 , 1 : Lcd "123456789012345678901234567890"
Locate 16 , 1 : Lcd "Unterste Zeile "
Wait 4
Cls
Return
Graph1:
Line(64 , 64) -(130 , 64) , 1
Line(130 , 64) -(130 , 100) , 1
Line(130 , 100) -(64 , 100) , 1
Line(64 , 100) -(64 , 64) , 1
Wait 4
Cls
Return
Onrxd:
Incr N
B_cmd(n) = Udr
Return
Lesezeichen