/ / Nie można wykryć pierwszych danych wysłanych w porcie szeregowym - c, linux, port szeregowy

Nie można wykryć pierwszych danych wysłanych w porcie szeregowym - c, linux, port szeregowy

Używam języka C i Linuksa jako mojej platformy programistycznej. Mam problemy z konfiguracją portu szeregowego (/ dev / ttyS0). W moim małym programie ustawiłem port szeregowy używając tcgetattr i tcsetattr

options.c_cflag |= B115200;
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag &= ~CSIZE;
options.c_cflag &= ~CRTSCTS;
options.c_cflag |= CS8;
options.c_cflag |= (CLOCAL | CREAD);
options.c_iflag &= ~(IXON | IXOFF | IXANY);

Mój problem polega na tym, że moja aplikacja nie otrzymuje pierwszych danych, które wysłałem. Czy straciłem jakąś wartość?

Dzięki.

Odpowiedzi:

0 dla odpowiedzi № 1

Czy to możliwe, że twoja aplikacja otrzymuje pierwszą rzecz, którą mu wysłałeś, ale na początku ma połączenie z połączeniem / konfiguracją i nie jest poprawnie przetwarzana?

Możesz spróbować wypróżnić wyjście szeregowe zaraz po init lub wysłać CR / LF zaraz po init, aby sprawdzić, czy to usunie rzeczy przed wysłaniem do twojej aplikacji.