96

我正在开发一个项目,该项目有许多硬件传感器通过 RS232 串行端口连接到部署机器。

但是......我正在一台没有物理 RS​​232 串行端口的机器上开发,但我想制作可以连接并输出数据的假串行端口,目的是伪造来自硬件传感器的输入。

有谁知道在 Windows XP 上创建假串口并控制它的方法?

4

6 回答 6

81

如果您正在为 Windows 开发,com0com项目可能就是您正在寻找的。

它提供了成对的虚拟 COM 端口,这些端口通过 nullmodem 连接进行链接。然后,您可以使用您最喜欢的终端应用程序或任何您喜欢的方式将数据发送到一个 COM 端口并从另一个端口接收数据。

编辑:

正如Thomas指出的那样,该项目缺少签名驱动程序,这在某些 Windows 版本(例如 Windows 7 x64)上尤其成问题。

有几个非官方的com0com版本确实包含签名的驱动程序。例如,可以从此处下载一个最新版本 (3.0.0.0) 。

于 2009-10-22T08:32:00.550 回答
69

我知道这是一篇旧文章,但如果有人遇到这个问题,一个不错的选择是来自Eterlogic的虚拟串行端口仿真器 (VSPE) 它提供了一个用于创建内核模式虚拟 comport 设备的 API,即连接器、映射器、拆分器等.
但是,有些 宣传 的 能力 真的 根本不是 能力 .

编辑
一个更好的选择 Eltima。该产品已完全烘烤。良好的开发人员技术支持。该产品完成了它声称要做的一切。产品选项包括桌面应用程序以及带有 API 的软件开发工具包。

这些产品都不是开源的,也不是免费的。但是,正如此处的其他帖子所指出的那样,还有其他选择。以下是各种串行实用程序的列表:

com0com (当前)
com0com - 带有签名驱动程序(旧版本)
带有签名驱动程序的 com0com 的另一个地方 (Pete 的博客)
战术软件
Termite
COM 端口串行仿真器
Kermit(已过时,但仍可下载)
HWVSP3
HHD 软件(免费版)

于 2011-11-15T01:39:38.577 回答
38

我在 Windows 7 x64 上使用com0com - With Signed Driver来模拟 COM3 和 COM4 作为一对。

然后我使用COM 数据端口仿真器从 COM4 接收。

然后我使用正在开发的应用程序(c#)打开 COM3 并将数据发送到 COM3。

通过 COM3 发送的数据由 COM4 接收,并由“COM Dataport Emulator”显示,后者也可以发回响应(非自动)。

因此,通过这两个出色的程序,我设法模拟了串行 RS-232 通信。

希望能帮助到你。

这两个程序都是免费的!!!!

于 2014-05-21T16:17:12.283 回答
5

总是有硬件路线。购买两个 USB 转串口转换器,并通过 NULL 调制解调器连接它们。

专业提示: 1) Windows 可能会在每次设备休眠或重启后为适配器分配新的 COM 端口。2) USB 转串口芯片的市场领导者是 Prolific 和 FTDI。两家公司都在与仿冒品作斗争,并且可能会在未来的官方 Windows 驱动程序中被阻止。但是,Linux 驱动程序可以与克隆一起正常工作。

于 2016-09-07T19:38:27.180 回答
3

另一种选择,即使 OP 没有要求它:

存在 USB 到串行适配器。根据适配器的类型,您可能还需要一根 nullmodem 电缆。

如果您安装了工作驱动程序,它们在 linux 下非常容易使用,也可以在 windows 下工作。

这样您就可以直接使用传感器,而不必尝试模拟数据。这样,您甚至可以免于构建贫血系统。(由于您的模拟数据输入未涵盖所有情况,导致您进入脆弱的系统。)

使用真实的东西通常会更好。

于 2015-07-11T09:11:09.160 回答
1

我使用 eltima 为我的 modbus 应用程序调试工作制作虚拟串行端口。在开发阶段不连接硬件检查串口程序确实是非常好的应用程序。

于 2019-09-15T06:08:35.293 回答