c - 将数据注入(inject)到 COM 端口上的串行数据流中

标签 c serial-port ansi

我一直在尝试来自 eterlogic (http://www.eterlogic.com/Products.VSPE.html) 的 VSPE,这是一个创建内核模式串行设备(如映射器、连接器、分离器等)的 API。我试图用它来创建一种方法来注入(inject)新数据,或修改物理 COM 端口和应用程序之间的串行流中的现有数据。

根据这个链接(http://www.eterlogic.com/help/vspe/ConnectorAndMapper.html)使用映射器和连接器的组合,以及一个额外的支持应用程序(数据可能会被改变),数据可以在 com 端口与其最终目的地(原始应用程序)之间进行修改。

我可以看到如何通过映射器将数据从物理端口(例如 COM2)重定向到被配置为与 COM3 通信的附加应用程序使用的虚拟端口(例如 COM3),但我看不到如何修改数据后,可以回写到原来的端口(COM2)和原来的应用程序中。因为写入 COM2 的所有内容都将重定向到 COM3。

数据流将类似于:

    Data transmitted from external device to COM2
    Data is re-directed to virtual COM3 into supporting application
    supporting application modifies data
    supporting application now writes modified data to original application, but through what COM port?

有人知道如何做到这一点吗? (仅在软件中)

问候
瑞克

最佳答案

我根据您的评论改写了我的答案:

发送:

Primary application writes data to virtual COM3
Secondary application (virtual COM port) modifies data and writes it to COM2
COM2 transmits the data on the physical port

接收:
Data is received on physical COM2
Secondary application reads raw data from COM2 and modifies it
Primary application reads modified data from virtual COM3

关于c - 将数据注入(inject)到 COM 端口上的串行数据流中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8130833/

相关文章:

go - 无论如何在ansi控制台上打印斜体字体?

swift - 如何在 Swift 中读取 ANSI Escape 代码响应值?

PHP - 如何使用 ANSI 编码保存文本文件?

C - 文件 I/O,不是从文件中读取

c - 文件指针会随着文件位置的变化而移动吗?

c - 我怎么知道编译器是否会优化一个变量?

c - open() 串行设备两次,用于在多线程上下文中读写

c++ - 非重叠串行端口连接是否会在读取期间阻止写入(反之亦然)?

windows - XP Embedded 启动时串行端口计数仪发出咔嗒声

c - Fifo 与客户端/服务器