Ich vermute das Problem liegt bei ComPort1RxChar
Du versuchst 1024 Bytes aus dem RX Puffer zu lesen,
wieviele da aber momentan drin sind wird Dir ja in der Variablen Count mitgeteilt,
das ist auch immer unterschiedlich,
demnach kannst Du auch nicht mehr Bytes lesen.
Du musst die Empfangsbytes erstmal solange in einen Puffer ablegen, bis dein Endezeichen erkannt wurde,
also z.B. das Carriage Return /n
Erst dann rufst Du deine Auswertefunktion auf, die den Buffer zerlegt.
Also kommt in die ComPort1RxChar eigentlich nur folgende Pseudocode:
while (Count--)
{
read 1 byte
if byte is Endezeichen dann Auswerten
ansonsten in Puffer packen
}
Siro
Lesezeichen