我想putty
使用连接到空调制解调器电缆的 UC232a 适配器(串行连接)建立连接,连接到迷你串行到 DB9 适配器,然后连接到另一台装有 CentOS 7 的 PC。
首先,我在机器上安装了 Windows 10,并安装了putty
.为 uc232 适配器安装了所有必需的驱动程序。选择了正确的 COM 端口号putty
(如设备管理器中显示的那样),但无论哪种方式,我什至无法与我自己的 COM 端口建立连接。它只显示黑屏。如果我按回车键两次,什么也不会发生。
我还尝试固定两个引脚 RXD 和 TXD,然后控制台对键盘写入做出反应。它显示字符。为什么我没有收到登录提示?
另一方面,在 CentOS 7 上,我在 BIOS 上启用了 COM 端口,也minicom
通过minicom -s
.
当我使用dmesg |grep tty
它时,它会打印控制台tty0
已启用并显示从ttyS0
到 的端口ttyS3
。
这两台具有不同操作系统的计算机之间是否有机会进行通信?
答案1
串行是一种非常基本的通信协议,与操作系统无关。您应该能够使用它在不同操作系统之间进行通信,但您必须确保两端的所有详细信息都正确。
BIOS POST 可能会显示,因为 BIOS 启用了串行控制台。然而,一旦操作系统启动,操作系统就会接管串行端口。默认情况下,除非您启用它,否则它不会对其执行任何操作。请注意,BIOS 在 POST 期间设置波特率,但您可能还需要在操作系统中单独设置。
可通过三种方式从操作系统启用串行端口上的活动。
- 在端口上运行应用程序(例如 echo)。 putty 中的延迟和缺少结果表明 ttyS0 是错误的端口(尝试 ttyS1?)或者端口设置阻止发送数据,因此您可能需要在那里进行实验。
- 告诉 linux 使用该端口作为控制台。您可以通过添加
console=tty0 console=ttyS0,115200
到 grub 命令行(在配置中实时或永久添加 - 我建议暂时实时执行此操作,直到您知道它有效) - 您可以使用 systemd 在端口上启用 getty 来提供登录提示,而不是将端口设置为控制台(没有同时作为控制台的噪音);注意,您可能应该对 getty 在 systemd 配置中使用的波特率进行硬编码