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