Ich habe ein ähnliches Verhalten beim Senden.
Aus AA 01 02 00 DE B1 wird manchmal AA 01 xx 00 xx B1 oder auch EA C1 80 F1
Baudrate ist auch bei mir relativ genau 57628 anstelle von 57600
ich verwende keine flow controll
Bei mir ist das Verhalten ab dem zweiten mal verbinden zum bricklet und senden (2x) beim brick viewer selbst konnte ich das so noch nicht reproduzieren aber sobald der fehler da ist betrifft er auch den brickviewer
Ich versuche noch herauszufinden wie sich das mit dem verbinden und trennen aus meinem Programm auswirkt. Dann könnte man das Problem wesentlich schneller lösen
nach einem reset passt wieder alles für 1 mal.
Zum empfangen verwende ich einen loopback adapter (mit einem logger dazwischen). Die empfangenen Daten entsprechen den gesendeten (die falsch sind)