问题标签 [com0com]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在真实和虚拟串行端口之间创建一对
我正在开发一个可以自动测试遗留应用程序的实用程序。旧版应用程序在 Windows 2000 上运行,并使用通过串行 (COM) 端口连接的 3 个设备。
我可以访问应用程序的源代码,但无权进行任何更改。但是,源代码允许我验证设备 COM 端口名称是否已作为 COM1(打印机)、COM2(钞票阅读器)和 COM3(条形码/OMR 阅读器)硬编码到应用程序中。我还可以看到发送到每个设备的字节,以及应用程序如何处理返回。
现在,我想编写有关钞票阅读器的测试。我在这里阅读了各种问题(例如,伪造 RS232 串行端口),我可以使用 com0com 来伪造串行端口。我希望有一种方法可以代表应用程序接收的真实 COM 端口设备发送字节。
安装实用程序后,我将一对配置为“COM2”到“COM6”。COM2 标签显示为红色,当我按 OK 时,我收到以下消息:
端口名称 COM2 已用于其他设备 \Device\Serial1
然后我可以按取消、重试或继续。
按继续我得到:
端口名称 COM2 已在 COM 端口数据库中记录为“正在使用”
我再次按继续。
我用 C# 编写了一个小应用程序来测试 COM2 和 COM6 端口配对。当我向 COM2 发送有效字节时,我得到了预期的 11 个字节(这正好反映了遗留应用程序中的一个场景)。COM6 上没有收到任何内容。当我向 COM6 发送相同的字节时,COM2 或 COM6 都没有响应。
我尝试重新启动机器,再次设置配对,尝试不同的 COM 端口(COM1 到 COM6,COM3 到 COM6),但从未在这些虚拟端口上得到响应(COM1 和 COM3 也是红色的,并给我同样的错误通过 com0com)。
测试 C# 应用程序如下:
当我使用超级终端时,我可以看到在 2 个虚拟端口之间发送消息,但在真实端口和虚拟端口之间没有发送任何消息。
是否可以通过 com0com 或其他方式配对真实和虚拟 COM 端口?
如果是这样,我该如何解决我的问题?
是否有替代真实串行端口输出的替代方法?
delphi - 如果没有获取 COM 端口数据,则 Windows 无响应
我制作了一个 Delphi 应用程序,每秒向 COM 端口传输数据。COM 端口是数据传输软件和 VirtualBox 机器之间的虚拟零调制解调器 (com0com)。一切都很好,但如果在另一端没有任何东西在听,主机 Windows 会变得越来越无响应。
c# - UWP 无法连接到虚拟串口
有时我将无法访问正在编程的硬件,或者调试不好。所以这就是为什么我想让我的生活更轻松一些并使用虚拟串行端口。
我选择使用 com0com 是因为它的设置非常简单,而且它是免费的。
我的问题是我的 UWP 应用确实找到了端口但无法连接到它。
我正在使用的代码是:
我知道代码本身正在工作,因为我将它与这样的硬件一起使用。我唯一改变的是我直接搜索COM7端口。
当我调试我的代码时,我可以看到该端口已找到并加载到“设备 [0]”中,但是当我运行该FromIdAsync
方法时它没有加载到“设备”中。
我做错了什么还是 UWP 不适用于虚拟端口?
virtual-serial-port - 如何使 com0com 端口显示为真实的物理端口?
使用 com0com 创建端口对后,它们会出现在设备管理器的 com0com 部分。表现不佳的应用程序(无法访问源代码和开发人员)仅列出某些端口并将其称为“USB 串行虚拟端口”。
HHD Software 的端口确实出现在不良应用程序的端口列表中,而 com0com 没有。我可以让 com0com 虚拟端口出现在设备管理器的 COM/LTP 部分吗?也许那么表现不佳的应用程序会起作用?
HHD 不是开源的。如果可能的话,我宁愿使用 com0com。
winapi - 有什么方法可以将虚拟通信端口锁定到特定的波特率?
我将com0com用于虚拟通信端口。
我正在尝试测试一些软件,我正在用虚拟端口替换一堆物理端口。软件检查通过每个 a 确定它的波特率并从中尝试不同的软件功能。
但是,当使用分配了特定波特率的虚拟端口并检查特定波特率时,我的虚拟端口的波特率会因检查而改变。
有什么方法可以确保虚拟通信端口的波特率被锁定并且不会改变?
com0com - Com0Com 从命令提示符创建端口
如何使用具有特定端口名称的 Com0com 命令提示符创建虚拟端口?
例如,我需要创建 COM11 和 COM15。当我运行下一个命令时,如果没有任何虚拟端口,它会创建端口 COM3 和 COM4
当我为其他端口 ( install RealPortName=COM12 RealPortName=COM13
) 运行此命令时,它会创建端口 COM5 和 COM6。
因此,它以严格的顺序给出数字。是否有任何选项可以严格设置端口名称?
这是需要的,因为我正在从 .Net 应用程序调用 com0com 命令提示符。
c - 使用 UART 时的串行端口通信问题
我正在尝试在板(Dialog DA14531)和温度传感器的模拟应用程序之间发送和接收数据。
- 例如,使用 Termite,我可以轻松地在电路板和计算机之间发送和接收数据。
- 通过使用 Com0Com,我也可以接收从 Termite 中的传感器模拟器发送的数据。然而; 我不能直接在这个模拟器和我的板之间发送数据。我正在使用 Advanced Serial Port Monitor 应用程序,虽然模拟器表明连接已建立,但该端口似乎没有任何反应。有人对可能导致问题的原因以及我应该如何进行调试有任何想法吗?
powershell - 在 Docker 容器中创建一对虚拟串行端口
我目前正在尝试在 Docker 容器中创建和连接一对虚拟串行端口。必须在同一个容器中将 COM3 与 COM4 链接起来。它还必须是 Windows 容器。
我已经通过“安装”命令尝试了 com0com,但弹出以下消息并且端口未成功安装:
这在 Docker 容器之外工作得非常好(通过 PowerShell 测试)。
任何建议将不胜感激。
windows - 将虚拟 COM 端口识别为 FTDI 设备
我有一个插入 Windows 机器的 FTDI 设备。正如预期的那样,它被识别并分配给 COM4 端口。使用FT_Prog程序时,此设备会自动识别为 FTDI 设备。我还有一个遗留程序(遗憾的是无法更改),它使用 D2XX 接口与 FTDI 芯片进行通信:它通过描述打开设备。现在我想创建同时从 FTDI 芯片读取数据的新软件。
但是因为只有一个进程可以与 FTDI 设备通信,所以我使用com0com创建了两对虚拟 COM 端口,然后使用hub4com将真实 COM4 端口路由到虚拟 COM5 和 COM6 端口。现在FTDI芯片写入的数据在COM5和COM6上都成功读取了。
问题是新的虚拟 COM 端口没有被识别为使用FT_Prog的 FTDI 设备。同样,旧程序无法通过新创建的虚拟端口打开 FTDI 设备。如何使新的虚拟 COM 端口被识别为 FTDI 设备,可能带有自定义描述?或者是否有更好的解决方案来解决这个问题?