Bạn có thể sử dụng stty
lệnh để đặt các tham số như vậy.
Điều này sẽ hiển thị tất cả các cài đặt trên cổng nối tiếp đầu tiên (thay thế ttyS0
bằng ttyUSB0
nếu sử dụng cổng nối tiếp USB):
stty -F /dev/ttyS0 -a
Điều này sẽ đặt tốc độ baud thành 9600, 8 bit, 1 bit stop, không có tính chẵn lẻ:
stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb
Một điều thường khiến mọi người nhầm lẫn là hầu hết các trình điều khiển nối tiếp sẽ đặt lại cài đặt về mặc định sau khi thiết bị được đóng lại (tức là không có quá trình nào mở thiết bị nữa). Vì vậy, stty
lệnh trên sẽ thiết lập các cài đặt, sau đó khi hoàn thành trình điều khiển đặt lại chúng. Nếu trước tiên bạn có phần mềm POS của bạn mở thiết bị và sau đó thực hiện stty
cài đặt, chúng sẽ được giữ xung quanh cho đến khi phần mềm POS của bạn đóng lại thiết bị (ví dụ: khi thoát).
Tôi đã nghĩ rằng phần mềm POS nên có một số cách để tự cấu hình các cài đặt này. Nếu bạn đang viết phần mềm của riêng mình để lái máy in, trước tiên hãy đảm bảo bạn mở thiết bị và sau đó thực hiện stty
lệnh.
Bạn cũng có thể cần phải chơi xung quanh với các cài đặt khác, ví dụ: opost
có nghĩa là quá trình hậu xử lý đầu ra sẽ được thực hiện. Nếu opost
và onlcr
cả hai được đặt, onlcr
sẽ làm cho một lợi nhuận vận chuyển thêm (0xd) được thêm vào khi một byte dòng mới (0xa) được xuất ra, thường là để ngăn in cầu thang như
This is a line
This is the next line
Điều này có thể hoặc không thể là những gì bạn muốn. Nếu bạn muốn một đầu ra một-một thô cho máy in opost
tắt (thêm -opost
vào các stty
tham số).
Bắt tay (điều khiển luồng) cũng được điều khiển stty
, mà không biết thêm về máy in Tôi không thể biết bạn có cần đặt gì không.
Kiểm tra stty
trang web để biết thêm thông tin.
screen /dev/ttyS0 <baud-rate>
(mặc định sẽ là 9600 cho dù cài đặt toàn hệ thống là gì, thậm chí không chắc chắn tồn tại như vậy)