• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Uszkodzone dane podczas odczytu z serial port powyżej 19200 C#

Cloud VPS
0 głosów
335 wizyt
pytanie zadane 13 stycznia 2021 w C# przez wojtij99 Użytkownik (630 p.)
edycja 13 stycznia 2021 przez wojtij99

Witam!

Mam problem z otrzymaniem poprawnej odpowiedzi z urządzenia przez port COM na prędkości 115200.  Wysyłam doń zapytanie typu $LZ1?  urządzenie odpowiada takim ciągiem znaków  #LZ01_L1=204\r\n  (sprawdzone na terminalu coolterm) a w mojej aplikacji otrzymuję ?Z\r?f?Zf?204\r\n bądź coś podobnego. Ustawienia parametrów COM są poprawne i zgodne z ustawieniami urządzenia a mianowicie: 

BaudRate = 115200;
StopBits = StopBits.One;
Parity = Parity.None;
DataBits = 8;

Jeśli tylko odbieram jakieś dane nie wymagające wcześniejszego zapytania, transmisja przebiega poprawnie.   

Dodam że na Baud rate 19200 wszystko działa normalnie.

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            Send("$LZ1_L1?\r\n");
            BackgroundWorker worker = sender as BackgroundWorker;
            if (!serialPort1.IsOpen)
                return;
            bufor = serialPort1.ReadExisting();
            Console.WriteLine(bufor);
        }

Co może być tego przyczyną? Ktoś ma jakieś sugestie? 

1 odpowiedź

0 głosów
odpowiedź 14 stycznia 2021 przez wojtij99 Użytkownik (630 p.)

Podobne pytania

0 głosów
0 odpowiedzi 590 wizyt
0 głosów
2 odpowiedzi 1,420 wizyt
0 głosów
2 odpowiedzi 540 wizyt
pytanie zadane 3 marca 2023 w C i C++ przez scared Początkujący (260 p.)

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...