Hier mal mein Code für das einlesen Per UART und Aufteilen des Strings in Bytes.

Code:
$regfile = "m8def.dat"
$crystal = 7372800
$baud = 115200

Dim E As String * 13                                        'Länge des Strings hier einstellen. Abhängig von den gesendeten Kanälen.

Dim Gyroz As String * 1
Dim Gyroy As String * 1
Dim Gyrox As String * 1
Dim Accz As String * 1
Dim Accy As String * 1
Dim Accx As String * 1
Dim Anfang As String * 1


On Urxc Onrxd                                               'Interrupt auslösen, wenn volsändiges Zeichen geladen.
Enable Urxc
Enable Interrupts

'------------------------------------------------------------------------
Do

Anfang = Left(e , 1)                                        '1. Byte lesen

If Anfang = "115" Then                                      'Anfang des Datensatzes abwarten,damit nicht mittendrin in den String geschrieben wird.
   E = ""
End If

If Len(e) > 12 Then                                         'wenn kompletter Datensatz geschickt, dann in einzelne Variablen aufteilen.
   Gosub Werte
End If

Loop


Onrxd:
E = E + Chr(udr)                                            'neu empfangenes Byte anhängen
Return

Werte:
Gyroz = Mid(e , 5 , 1)                                      'String e wird in die einzelnen Werte verteilt.
Gyroy = Mid(e , 6 , 1)
Gyrox = Mid(e , 7 , 1)
Accz = Mid(e , 8 , 1)
Accy = Mid(e , 9 , 1)
Accx = Mid(e , 10 , 1)
E = ""
Return
End
Warum kann ich den auseinandergeschnittenen String nicht als Byte Dimensionieren? z.B: Gyroz?
Ist das abwarten bis ein p(115) gesendet wird so richtig?
If Anfang = "115" Then
E = ""
Wenn jemand etwas auffällt, bitte Posten