如何确定串口的波特率?

我正在设置一个控制台服务器,我需要确定我的端口的正确波特率。 如果可能,我想从命令行执行此操作。 有谁知道如何?

您正在寻找的程序被称为“setserial”。

http://linux.die.net/man/8/setserial

setserial是特定于Linux的,但是也可以使用stty命令(在任何Unix上都可用)检查任何tty的速度和其他特征。

stty在标准input上运行,所以stty < /dev/ttyXX会给你关于那个特定tty的信息。 或者,如果您处于无法设置stty的标准input的情况,则可以使用-F /dev/ttyXX选项。

既然你提到了一个控制台服务器,这个问题是用linux标记的,我将假定你正在连接到一个linux服务器。 服务器必须configuration为使用串行控制台,因此有几个地方要检查。

内核设置包括将“console”参数添加到内核的命令行。 例如,添加“console = ttyS0,9600”告诉内核以9600波特发送消息到第一个串口(DOS / Windows条件下的/ dev / ttyS0,COM1)。 您可以通过引导加载程序configuration将其添加到命令行。 如果使用grub,这通常是一个名为/boot/grub/grub.conf的文件。 请注意,您可以为传统键盘/video控制台(tty0)以及串行(/ dev / ttyS0)提供多个控制台参数。 例如:“console = tty0 console = ttyS0,9600”

要通过串口提供login提示,您需要编辑/ etc / inittab并添加/编辑如下所示的行。 s0:12345:respawn:/ sbin / agetty 9600 ttyS0 vt100这一行告诉agetty程序在/ dev / ttyS0上以9600波特产生login提示。

请注意,您通常希望匹配内核和agetty设置之间的串行端口和波特率。 通过检查上面的configuration你应该能够确定服务器的波特率。