Serial-Port
在 Linux 上配置串口的最簡單方法是什麼?
在 Windows 命令提示符下配置串口,我可以簡單的使用:
mode com1: 9600,n,8,1
或閱讀配置:
mode com1:
Linux中是否有類似的命令?在 Linux 中查找和配置串列埠的最簡單方法是什麼?
您可以使用該
stty
命令設置此類參數。這將顯示第一個串列埠上的所有設置(如果使用 USB 串列埠,則替換為)
ttyS0
:ttyUSB0
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
手冊頁以獲取更多資訊。