Ich habe jetzt eine sehr einfache und zufriedenstellende Lösung gefunden die sehr schnell läuft. Erst wird ein Byte mit der Adresse empfangen. Diese ist entweder 253, 254 oder 255. Danach wird das Byte zur Motorsteuerung übertragen (dieses Byte wird immer zwischen 0 und 252 liegen). Ich glaube ich werde auch ohne Checksum keine Probleme mit Übertragungsfehlern bekommen. Wenn ich mit 200Hz Daten übertrage läuft mein µC statt mit 357 Hz noch mit 320 Hz. Das ist gut genug, da ich wohl nur mit max 10Hz Daten übertragen werde.
Wenn ich die Baud Rate auf 115200 erhöhe sind es sogar nur 12 Hz Unterschied.

Code:
$regfile = "m32def.dat"
$framesize = 64
$swstack = 64                                   
$hwstack = 64                                     
$crystal = 16000000
$baud = 38400
Config Serialin = Buffered , Size = 20
Enable Interrupts

Dim Recipient As Byte
Dim Message1 As Byte
Dim Message2 As Byte
Dim Message3 As Byte
Const Address1 = 253
Const Address2 = 254
Const Address3 = 255

Do
If Ischarwaiting() > 0 Then
  If Recipient <> Address1 And Recipient <> Address2 And Recipient <> Address3 Then
     Inputbin Recipient
  End If
End If

If Recipient = Address1 Then
  If Ischarwaiting() > 0 Then
    Inputbin Message1
    Print Recipient ; " " ; Message1
    Recipient = 0
  End If
End If

If Recipient = Address2 Then
  If Ischarwaiting() > 0 Then
    Inputbin Message2
    print recipient;" ";message2
    Recipient = 0
  End If
End If

If Recipient = Address3 Then
  If Ischarwaiting() > 0 Then
     Inputbin Message3
     Print Recipient ; " " ; Message3
    Recipient = 0
  End If
End If
Loop