Вы можете использовать stty
команду для установки таких параметров.
Это покажет все настройки первого последовательного порта (замените ttyS0
с , ttyUSB0
если с помощью USB последовательного порта):
stty -F /dev/ttyS0 -a
Это установит скорость передачи 9600, 8 бит, 1 стоповый бит, без контроля четности:
stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb
Одна вещь, которая обычно смущает людей, состоит в том, что большинство драйверов последовательного интерфейса сбрасывают настройки до значений по умолчанию, как только устройство закрывается (т.е. ни один процесс больше не открывает устройство). Таким образом, приведенная выше stty
команда установит настройки, а затем, когда это будет сделано, драйвер снова их сбросит. Если вы сначала открыли устройство программным обеспечением POS, а затем выполнили stty
настройки, они должны оставаться на месте, пока программное обеспечение POS снова не закроет устройство (например, при выходе).
Я бы подумал, что программное обеспечение POS должно иметь какой-то способ настройки этих параметров самостоятельно. Если вы пишете собственное программное обеспечение для управления принтером, сначала откройте устройство, а затем выполните stty
команду.
Вам также может понадобиться поиграть с другими настройками, например, opost
означает, что будет выполнена постобработка вывода. Если opost
и onlcr
установлены оба, то onlcr
при добавлении байта новой строки (0xa) будет добавлен дополнительный возврат каретки (0xd), обычно для предотвращения печати по лестнице, такой как
This is a line
This is the next line
Это может или не может быть то, что вы хотите. Если вы хотите, чтобы на принтер выводился один-к-одному, opost
отключите его (добавьте -opost
к stty
параметрам).
Рукопожатие (управление потоком) также контролируется stty
, не зная больше о принтере. Я не могу сказать, нужно ли вам что-то устанавливать.
Проверьте stty
man-страницу для получения дополнительной информации.
screen /dev/ttyS0 <baud-rate>
(по умолчанию будет 9600, независимо от того, какие настройки в системе, даже не уверены, что такие существуют)