Regularnie używam cat
do przeglądania informacji o debugowaniu w konsoli z mojej płyty rozwojowej FPGA przez połączenie szeregowe, ale nigdy nie musiałem mówić linuxowi, jaka jest prędkość transmisji. Skąd kot wie, jaka jest szybkość transmisji połączenia szeregowego?
linux
devices
serial-port
stanri
źródło
źródło
minicom
Wcześniej? Tu nie działa. Dopiero po skonfigurowaniu parametrów portu szeregowego mogę użyćcat
.Odpowiedzi:
Program
stty
narzędziowy ustawia lub raportuje charakterystykę I / O terminala dla urządzenia, które jest jego standardowym wejściem. Te cechy są wykorzystywane przy ustanawianiu połączenia za pośrednictwem tego konkretnego medium.cat
nie zna szybkości transmisji jako takiej, raczej drukuje na ekranie informacje otrzymane z danego połączenia.Jako przykład
stty -F /dev/ttyACM0
podaje bieżącą prędkość transmisji dla urządzenia ttyACM0.źródło
stty
)cat
po prostu używa ustawień, dla których port jest już skonfigurowany. Za pomocą tego małego fragmentu C możesz zobaczyć szybkość transmisji ustawioną aktualnie dla określonego portu szeregowego:get-baud-rate.c
Uruchom:
Liczby, które otrzymujesz, można sprawdzić
/usr/include/asm-generic/termios.h
, gdzie są#define
takie jakB9600
itp. Zauważ, że liczby w pliku nagłówkowym i naget-baud-rate
wyjściu są ósemkowe.Może poeksperymentujesz i zobaczysz, jak wyglądają te liczby przy nowym rozruchu i czy później się zmienią.
źródło
stty
polecenie, które właśnie to robi. Na przykładstty -F /dev/ttyACM0
daje mi bieżącą szybkość transmisji, która jest poprawna dla mojego urządzenia.