Windows:C++:从文件重定向到串行端口(输入)

Windows: C++: Redirection from file to serial port (input)

本文关键字:串行端口 输入 重定向 C++ 文件 Windows      更新时间:2023-10-16

我继承了一些相当旧的软件,这些软件连接到串行端口,格式化传入数据并显示和保存。该软件是在旧的Borland编译器(C++Builder 5.0)中编写的,使用CreateFile打开端口,然后使用SetupComm作为通信参数。

有人要求我添加新功能:启用录制的会话,并将其重放,就好像它是从串行端口传入的一样

我正在寻找几种可能的解决方案,最简单、最快的解决方案涉及第二个串行端口和零调制解调器电缆。这并不完全是他们的想法,但它确实解决了问题。但是,假设我没有这个选项。有没有办法将通信端口重定向到文件,这样当"com端口"打开时,它就会打开文件并从中读取?或者,是否有一种简单的并行方法来打开文件(例如,对CreateFile的相同调用),并绕过对SetupComm的调用,以便在需要时从文件中输入?

由于我确实有简单的硬件解决方案,我不想花几个小时重写代码,但如果有一种简单的方法,我想知道。

我会以某种方式将声誉授予Eugen Rieck,这个建议是他的。我这样做的方式是使用一个名为com0com的包,这是一个开源的虚拟com端口。我编写了一个例程,它发送到一个虚拟com端口,将原始软件的com端口连接到另一个与该端口配对的端口,功能就在那里。