Możesz użyć stty
polecenia, aby ustawić takie parametry.
Spowoduje to wyświetlenie wszystkich ustawień pierwszego portu szeregowego (zastąp ttyS0
je, ttyUSB0
jeśli używasz portu szeregowego USB):
stty -F /dev/ttyS0 -a
Spowoduje to ustawienie szybkości transmisji na 9600, 8 bitów, 1 bit stopu, brak parzystości:
stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb
Jedną z rzeczy, która ogólnie myli ludzi, jest to, że większość sterowników szeregowych zresetuje ustawienia do wartości domyślnych po zamknięciu urządzenia (tj. W żadnym procesie urządzenie nie jest już otwarte). Tak więc powyższe stty
polecenie spowoduje ustawienie ustawień, a następnie, gdy to zrobione, sterownik zresetuje je ponownie. Jeśli najpierw masz otwarte oprogramowanie POS, a następnie dokonujesz stty
ustawień, powinny one pozostać do momentu, aż oprogramowanie POS ponownie zamknie urządzenie (np. Po wyjściu).
Myślałem, że oprogramowanie POS powinno mieć możliwość samodzielnego skonfigurowania tych ustawień. Jeśli piszesz własne oprogramowanie do sterowania drukarką, najpierw otwórz urządzenie, a następnie wykonaj stty
polecenie.
Być może trzeba będzie się pobawić innymi ustawieniami, np. opost
Oznacza, że zostanie przetworzone przetwarzanie wyjściowe. Jeśli opost
i onlcr
oba są ustawione, onlcr
spowoduje to dodanie dodatkowego znaku powrotu karetki (0xd), gdy generowany jest bajt nowej linii (0xa), zwykle w celu zapobiegania drukowaniu schodów, takim jak
This is a line
This is the next line
To może być lub nie być to, czego chcesz. Jeśli chcesz surowego wyjścia jeden do jednego do drukarki, opost
wyłącz (dodaj -opost
do stty
parametrów).
Uścisk dłoni (kontrola przepływu) jest również kontrolowany za pomocą stty
, nie wiedząc więcej o drukarce. Nie wiem, czy trzeba coś ustawić.
stty
Więcej informacji na stronie podręcznika.
screen /dev/ttyS0 <baud-rate>
(Domyślnie byłoby to 9600 bez względu na ustawienia systemowe, nawet nie jestem pewien, czy takie istnieją)