Na podstawie screenów widać, że to co wysyłasz to nie zawsze jest odczytywane w całości w C#
Np. w wykonujesz w danym momencie
język csharp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a w tym czasie dane jeszcze lecą z uC. Nie zdążył wysłać całości, więc odczytałeś część, a reszta trafiła do bufora wejściowego C#.
Jeśli wykonasz kolejny odczyt danych to tych informacji odczyta więcej (spóźnione dane) niż oczekujesz i stąd ten bałagan.
Zdefiniuj sobie proste pola start/stop ramki i będziesz mógł wtedy zweryfikować czy ramka nadleciała poprawnie. Może to wyglądać np.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W c# sprawdzisz czy
język csharp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.