我在ANSI C Windows 7环境中使用硬件和虚拟串行端口的组合。在这个项目中,将有两个应用程序:第一个应用程序正在开发中,并将连接到硬件COM端口和虚拟COM端口。第二个是遗留应用程序(已经开发并且无法更改)它将通过虚拟NULL调制解调器仅连接到同一个虚拟COM端口。
在第一个应用程序中,COM事件处理程序可用于侦听和处理从连接到硬件COM端口的串行消息生成器生成的消息。但是,虚拟COM端口不会生成COM事件,因此我只能使用定时循环来定期检查虚拟端口的模拟输入和输出队列。这适用于控制第一个应用程序中的COM流量,但第二个应用程序需要查看COM事件以使其能够处理传入的串行流量。
有没有办法在一个应用程序中以编程方式生成Windows COM(RS232)事件,以便期望COM事件的遗留应用程序可以看到它们?
通过事件,我指的是典型的comcallback认可的那些,例如: LWRS_RXCHAR,LWRS_RXFLAG,LWRS_TXEMPTY,LWRS_CTS等
答案 0 :(得分:0)
我不知道这是否可行,但您可以尝试在传统COM接口上进行环回?然后你可以写它,它将触发COM事件。
答案 1 :(得分:0)
在这里关闭循环(稍晚),感谢您尝试@Evert。
解决方案是选择合适的供应商。我们需要一个好的内核模式驱动程序来生成正确的虚拟COM端口配置。 Eltima(www.eltima.com)提供的产品就是这样做的。具有可用API的出色产品。问题解决了