Windows COM 端口可以被同一台 PC 上运行的两个程序用于进程间通信吗?我们的最终目标是编写一个通过 COM 端口通信来控制硬件的程序。由于硬件不可用,我们希望在程序中模拟硬件,该程序从虚拟 COM 端口读取并响应。
一个普通的仿真器是一个等待从 COM 端口读取字节并通过写入 COM 端口来响应的程序。首先,可以对这些消息的值进行硬编码。
所以我要做的是我有两个用 C/C++ 编写的程序,使用 windows 提供的ReadFile
函数WriteFile
来读取和写入文件。由于访问冲突,此方法将不起作用。因此,我想知道我们对模拟器本身的方法是否错误。
尽管我在其他领域有编程经验,但我是基于 Windows 的编程的新手。任何帮助将不胜感激。
更新:
解决方案:
- 安装了 Eltima Software 的 Virtual Serial Port Driver 7.1(试用版)
- 添加了一对虚拟端口(例如 COM1 和 COM2)
- 控制器程序通过 COM1 通信
- 仿真器程序通过 COM2 进行通信
- Eltima 软件负责在两个端口之间传输数据