Ich habe mir den Code nicht angesehen. RS232 frage ich über IsCharWaiting ohne IRQ ab. Wenn ein Zeichen wartet, wird geprüft, ob es ein chr(13) ist, oder nicht. Wenn nicht dann an den Eingangsstring angehangen und wenn ja, dann wird der Eingangsstring verarbeitet. chr(10) ignoriere ich bei RS232 ganz gern... Hier mal ein Auszug aus einem meiner älteren Projekte ( X300T Frontend):

Code:
Config Serialin = Buffered , Size = 88
Dim B As Byte 
Dim Elaenge As Byte
Dim Seingang As String * 100
.
.
.
Do
.
.
.
   If Ischarwaiting() = 1 Then
        Gosub Empfangen

   End If
Loop
End

Empfangen:



   B = Inkey()
   If B >= 13 Then
         If B = 13 Then
            Gosub Auswerten
         Else
            If Len(seingang) < 78 Then
               Seingang = Seingang + Chr(b)
               Elaenge = Elaenge + 1
            Else
               Seingang = ""
               Elaenge = 0
              ' Print "error"
            End If
         End If
   End If

Return