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







Zitieren

Lesezeichen