Strona 1 z 1

Odczyt portu szeregowego - overrun error

: 13 lip 2021 14:44
autor: PrzemB
Witam,
mam problem z odczytem z portu szeregowego. Robiłem to wiele razy ale teraz przy nowym urządzeniu mam kłopot.
Czujnik podłączony do komputera poprzez adapter FTDI, ustawiony na streamowanie danych. W terminalu odbieram dane bez problemu
serial port - terminal.PNG

Robię w LV prosty monitor portu:
serial port read - block diagram.png

Niestety po uruchomieniu krzyczy błędem
serial port read - error.PNG
Po kliknięciu 'Continue' odbiera kilka ramek i znowu wyrzuca błąd. Czym może to być spowodowane? Sprawdzałem różne taktowania pętli i ustawienia timeout w konfiguracji portu, bez wpływu na to zachowanie. Będę wdzięczny za wszelkie sugestie do sprawdzenia.

Pozdrawiam
Przemek

Re: Odczyt portu szeregowego - overrun error

: 13 lip 2021 16:53
autor: marek323
https://forums.ni.com/t5/Instrument-Con ... anguage=en

1. Zwiększ bufor
2. Jeśli nie boli Cię utrata paru ramek - obsłuż błąd
3. Concatenate string też bym wyrzucił dla zasady ;)
4. Wait Until Next ms Multiple - też raczej do śmietnika skoro się nie wyrabia z odczytem

Re: Odczyt portu szeregowego - overrun error

: 13 lip 2021 17:06
autor: darekc
Ramki danych są zakończone znakami niedrukowalnymi, CR (kod ASCII 13) i LF (kod ASCII 10), można tą własność wykorzystać do uproszczenia diagramu.

Re: Odczyt portu szeregowego - overrun error

: 15 lip 2021 09:30
autor: PrzemB
marek323 pisze: 13 lip 2021 16:53 3. Concatenate string też bym wyrzucił dla zasady ;)
To jak inaczej wyświetlić zebrane ramki danych?

Pozdrawiam

Re: Odczyt portu szeregowego - overrun error

: 15 lip 2021 09:53
autor: marek323
Chodzą słuchy, że format into string jest szybszy.
A żeby było na ładnie, kolejka do drugiej pętli i tam sobie już z tym stringiem robić co się chce ;)

Pozbyłeś się już błędu?

Re: Odczyt portu szeregowego - overrun error

: 15 lip 2021 12:38
autor: darekc
W jakich odstępach czasu czujnik wysyła ramki?

Re: Odczyt portu szeregowego - overrun error

: 15 lip 2021 13:29
autor: PrzemB
Dane są wysyłane 100Hz, więc 5ms pozwala na ogarnięcie wszystkiego.
Przetestowałem na innym komputerze i wszystko działa normalnie, bez żadnych zmian w programie. :-? Muszę sprawdzić na notebooku czy nie mam jakiś dziwnych ustawień portu albo błędnego sterownika do ftdi - może to to?

Dzięki wszystkim za uwagi i komentarze.

Re: Odczyt portu szeregowego - overrun error

: 15 lip 2021 13:33
autor: darekc
Taka propozycja wykorzystania faktu, że ramki są zakończone znakiem LF.
Odczyt.JPG