我正在使用USB到RS232电缆在两台Linux机器之间进行通信。在连接了USB端的机器上,运行:
dmesg | grep tty
并获得以下输出:
console [tty0] enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
usb 2-1.2: pl2303 converter now attached to ttyUSB0
到现在为止还挺好。现在,我运行
minicom -s
并使用“串行端口设置”,将“串行设备”更改为“/dev/ttyUSB0”,将“BPS/Par/Bits”更改为“115200 8N1”,然后为“硬件”选择“否”流量控制”和“软件流量控制”。我将这些设置保存为默认设置,退出minicom,然后再次运行
minicom
。Minicom打开,但仍保持“脱机”状态。我无法输入任何命令。连接到电线的串行端口侧的另一台Linux机器已打开并且运行良好。为什么我不能连接到另一台Linux机器?
最佳答案
Minicom根据是否连接DCD线路来决定离线/在线。我创建了一条无效的调制解调器电缆,并测试了数据是否可以传输,但是minicom应该显示为脱机状态。浏览代码时,我发现它检查DCD线路连接以设置在线变量。
我用于在Java串行端口https://github.com/RishiGupta12/serial-communication-manager中测试的该库
关于linux - 尝试使用USB到RS232电缆进行通信时Minicom脱机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18108575/