'screen /dev/ttyUSB0'具有不同的选项,例如数据位,奇偶校验等



我正在尝试使用

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相似,是串行端口通信的行业标准。

相关内容

  • 没有找到相关文章

最新更新