我正在尝试使用
screen /dev/ttyUSB0
通过USB串行接口连接到旧计算机。
我没有想出在我的命令行中放置正确的选项以从我的计算机中获取非怪异反馈(收到的文本都被搞砸了)。
我的操作系统是Centos,带有GNOME 2.16.0。
我看到有一个名为kppp的程序,该程序具有"终端...",但我也没有弄清楚一个程序。因此,我试图将CLI与"屏幕"一起使用,但是我很难设置正确的参数(显然,我不明白如何将这些参数与Stty一起使用)。这不是安装应用程序或使用此计算机做任何事情的选项,因此我必须使用已经存在的内容。"屏幕"似乎可以完成这项工作,但是收到的文字是前面提到的gibberish('$$@%idj ldj&quort; etc。)
)我需要计算机一个参数:
Baud: 9600 Databit: 8 Parity: No Stopbit: 2 Flow control: Hardware.
对于计算机两个我需要:
Baud: 9600 Databit: 7 Parity: Even Stopbit: 1 Flow control: Hardware
波特率很容易;
screen /dev/ttyUSB0 9600
但是我不知道该怎么办。我找到了停车位的选项:
cstopb(使用两个停止位)
-cstopb(使用一个停车位)
但是我如何正确使用它?
screen /dev/ttyUSB0 9600 -cstopb
或
screen /dev/ttyUSB0 9600,-cstopb
如何通过所有列出的参数通过串行接口连接到另一台计算机?
我找到了该手册的Sty。
数据属性与此选项相同吗?
cs5 cs6 cs7 cs8
Select character size (see termio(M)).
奇偶校验:
parodd (-parodd)
Select odd (even) parity.
stopbit:
cstopb (-cstopb)
Use two (one) stop bits per character.
但是硬件控制呢?
无论如何;这仍然不起作用;
screen /dev/ttyUSB0 9600 cs8 oddp cstop
或
screen /dev/ttyUSB0 9600 cs7 evenp -cstop
我认为屏幕对所有这些不同的串行端口设置没有支持。仅支持最基本的参数。您已经通过查看《严格的手册》已经朝着正确的方向前进了,但是您必须将Stty用作与屏幕的单独工具:首先,您配置串行端口,然后使用屏幕连接到它。
为计算机配置串行端口1:
# stty - change and print terminal line settings
#
# -F /dev/ttyUSB0 Change the settings of /dev/ttyUSB0
# cs8 Use 8 character bits
# -parenb Don't use a parity bit (the '-' means 'disable')
# crtscts Enable RTS/CTS handshaking (hardware flow control)
stty -F /dev/ttyUSB0 cs8 -parenb cstopb crtscts
配置了端口后,您可以开始使用IT槽屏幕:
# screen - screen manager with VT100/ANSI terminal emulation
#
# /dev/ttyUSB0 Use /dev/ttyUSB0 as terminal
# 9600 Open the serial port using 9600 baud
screen /dev/ttyUSB0 9600
第二台计算机也适用:
# stty - change and print terminal line settings
#
# -F /dev/ttyUSB0 Change the settings of /dev/ttyUSB0
# cs7 Use 7 character bits
# parenb Enable the a parity bit
# -parodd Don't use ODD, but use EVEN parity
# -cstopb Don't use 2 stopbits, but just the regular 1
# crtscts Enable RTS/CTS handshaking (hardware flow control)
stty -F /dev/ttyUSB0 cs7 parenb -parodd -cstopb crtscts
然后,您可以在9600 Baud启动屏幕:
# screen - screen manager with VT100/ANSI terminal emulation
#
# /dev/ttyUSB0 Use /dev/ttyUSB0 as terminal
# 9600 Open the serial port using 9600 baud
screen /dev/ttyUSB0 9600
这应该解决问题。您可以在Stty的帮助下找到更多的配置选项:
stty --help
选项之间需要逗号!
启用 rts/cts流控制,使用以下内容:
screen /dev/ttyS0 9600,crtscts
注意:并非所有USB-TO-RS-232转换器实现硬件流控制!
读取 linux/unix minicom串行通信程序用于详细说明和使用微型。
minicom与GTKTERM相似,是串行端口通信的行业标准。