如何确定串口的波特率?


18

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

Answers:



25

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

stty在其标准输入上运行,因此stty < /dev/ttyXX将为您提供有关该特定tty的信息。另外,如果您无法设置的标准输入stty,则可以使用该-F /dev/ttyXX选项。


5
您可能需要使用 stty -F /dev/ttyXX
Mark Lakata 2012年

2

由于您提到了控制台服务器,并且这个问题标有linux,所以我假设您正在连接到linux服务器。必须将服务器配置为使用串行控制台,以便检查几个地方。

内核设置涉及将“ console”参数添加到内核的命令行。例如,添加“ console = ttyS0,9600”告诉内核以9600波特将消息发送到第一个串行端口(在DOS / Windows中为/ dev / ttyS0,COM1)。您可以通过引导加载程序配置将此添加到命令行。如果使用grub,则通常是一个名为/boot/grub/grub.conf的文件。请注意,对于传统的键盘/视频控制台(tty0)以及串行(/ dev / ttyS0),您可以具有多个控制台参数。例如:“控制台= tty0控制台= ttyS0,9600”

要通过串行提供登录提示,您需要编辑/ etc / inittab并添加/编辑如下行。s0:12345:respawn:/ sbin / agetty 9600 ttyS0 vt100此行告诉agetty程序以9600波特在/ dev / ttyS0上生成登录提示。

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


除非您的Linux不使用inittab。我的Fedora和Ubuntu系统使用/etc/event.d/tty*和/etc/event.d/serial,它们是Upstart的一部分(en.wikipedia.org/wiki/Upstart)。
暂停,直到另行通知。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.