Vymazání bufferu z COM1 portu   otázka

C#, Hardware

Ahoj mám problém, jsem sice začátečník v C# ale dělám čtečku čárových kódů přes serialport COM1.

Čtečka načte kód, zobrazí výsledek a po zadání další proměnné se celý proces opakuje. bohužel podruhé už se nezobrazí správný načtený kód ale zbytky z předchozího, je to dáno tím, že se buffer nevypráznil ale nemůžu přijít na to jak ho vymazat:

Kód je:

// buffer
      byte[] buffer = new byte[10];
      SerialPort com = new SerialPort("COM1", 9600, Parity.None, 8,StopBits.One);

načítám 10 znaků, ukáže se např kód.

1104070546

poprvé je to dobré ale podruhé se ukáže toto:

46

4070546

vůbec nevím jak dál

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ty jedničky mohou být synchronizační. Dojděte až k první nule a pokračujte čtením až dalšími daty. Stejným způsobem jsem musel na některých zařízeních komunikaci také ošetřovat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ne ty jedničky jsou součástí toho čísla...napíšu přehledněji

10 místné číslo je: 1234567890

podruhé se zobrazí:

90

4567890

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback