虚拟机与 FTDI 232R 之间的连接不稳定

虚拟机与 FTDI 232R 之间的连接不稳定

语境

我的任务是让一个 DOS 程序在更现代的硬件上运行。该程序使用串行 COM 端口以相对较低的波特率(通常为 4800)与目标设备通信。

到目前为止,我已经在 Windows 机器上使用 VirtualBox 创建了 FreeDOS VM,并获得了 FTDI TTL-232R 电缆和该电缆的虚拟 COM 端口驱动程序。

问题

这种设置实际上可以工作。软件能够与目标设备通信,但示波器显示将发送两三个字节,然后在发送另一组字节之前最多需要十毫秒。这导致目标设备在收到完整消息之前超时。

故障排除

我使用的 Windows 计算机实际上仍然有一个 DB9 端口。如果我使用它代替 FTDI 电缆,软件就可以顺利运行。这让我相信问题不是由 FreeDOS 引起的。

为了测试 FTDI 电缆,我在 Windows 机器上编写了一个简短的 Python 脚本(使用 pyserial),以使用虚拟 COM 端口与目标设备进行通信。这也运行顺利。

我也读过相关文件。我尝试调整驱动程序设置,但没有效果。考虑到 Python 脚本运行正常,驱动程序似乎也不太可能是问题的根源。

帮助!

如果有人对如何进一步排除故障有想法或认识到当前的问题,我们将非常感激您的建议!

答案1

去过也做过。

最有可能的是,你买到了“假冒”的 FTDI USB-to-Serial。它们“有点用”,但效果却很奇怪。

获得真正的 FTDI(或者更好的:PL2303),事情就会顺利进行。

相关内容