我正在通过 C++ 中的 COM 为 ESPA 4.4.4 发送数据。连接在 COM 端口上的程序 B 通常会检测程序 A 是否发送数据。为了测试这一点,我创建了两个带有 com0com、COM1/CNCB1、COM2/CNCB2 的虚拟端口对。使用 hub4com,我按照此处的说明进行连接
但是当我尝试使用 A 或 B 连接到 COM1 或 COM2 时,由于端口已在使用中,因此无法完成。
所以我的问题是我希望两个端口进行通信。-> 第一个问题:教程中的架构好不好处理。我的意思是可以处理 COM1/CNCB1 和 COM2/CNCB2 吗?-> 第二个问题:连接两个端口的命令是“hub4com options \.\input_COM \.\output_COM1” \.\output_COM2”...所以我尝试这样做:“hub4com -baud=9600 \.\COM1 \ .\COM2"。该命令有效,我得到以下返回:
Open("\\.\COM1", baud=9600, data=8, parity=no, stop=1, octs=off, odsr=off, ox=off, ix=off, idsr=off, ito=0) - OK
Open("\\.\COM2", baud=9600, data=8, parity=no, stop=1, octs=off, odsr=off, ox=off, ix=off, idsr=off, ito=0) - OK
Route data COM1(0) --> COM2(1)
Route data COM2(1) --> COM1(0)
Route flow control COM1(0) --> COM2(1)
Route flow control COM2(1) --> COM1(0)
Started COM1(0)
Started COM2(1)
这样就建立了道路,数据应该可以通信。但我无法用我的程序连接 COM 端口。所以我尝试连接 CNCB1 和 CNCB2。我可以连接 COM 端口。但是不知道数据有没有到。
-> 那么第三个问题:有没有可靠的方法可以知道 COM1 是否向 COM2 发送数据?只需一个小软件就可以很好地测试架构