如何将Windows COM端口输出重定向到文件?

20

是否有一种简单的方法将串口输出重定向到文件中,我可以在测试Windows桌面系统上实施而不更改任何代码?

我正在尝试调试串行收据打印机模块中的问题,但今天我手边没有真正的设备。如果可能的话,我不想开始对代码进行任何更改,我只想捕获当前输出的内容,以便我可以在文件中审查它。

如果有区别,那就是Windows XP系统。


在Dan的回复后,我找到了这个网址:http://www.eltima.com/products/serial-port-monitor/,它可以让我观察到发送到串口的输出并将其记录到文件中。非常完美。 - robsoft
1
请查看此Serverfault问题的建议:http://serverfault.com/questions/17403/free-software-to-monitor-serial-port-communication/个人偏爱免费串口监视器:http://www.serial-port-monitor.com/free-serial-port-monitor-product-details.html - stukelly
8个回答

39

另一个选项是通过命令行:

type com1: >> data.log

6
刚刚试过了,它有效。为什么最不简单的答案被接受了呢?这个答案不需要安装任何程序,只需要使用Windows命令行自带的功能即可。 - E.T.
1
@E.T. 或许人们害怕毛胸模式。 - Namphibian
2
这仅适用于大块数据和最多20秒的延迟。 - Rauli Rajande
1
如何处理大于4的串口号? - nicolas2008
2
如果您想设置波特率、数据位或类似的内容,只需事先运行mode命令即可。https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/mode - Martin Brown
显示剩余2条评论

8

6
一次快速的谷歌搜索给我带来了RS232数据记录器 - 我没有尝试过,但如果它能够实现它所说的,那么对你来说应该没问题。 编辑:它似乎是用于接收而非发送。不过还是值得一试 :-)

1
谢谢Dan。它让我找到了他们的串口监视器,可以捕获一些东西。然而,我没有考虑到应用程序/串口组件本身在工作之前需要从设备接收某种反馈 - 这可能意味着如果没有收据打印机本身,整个方法都是失败的。 :-) - robsoft
串口监视器起了作用,Dan。我能够观察到输出到收据打印机的内容,即使它没有插上,一旦我稍微理解了一下。非常感谢! - robsoft
1
这不是一个记录器,它只是一个RS232终端:在记录期间,端口是忙的,因此您无法记录主机到主机的交易。这只是一个串行端口终端到文件。 - Tobia

2
您可以在虚拟机中运行打印机模块。VMWare允许您将串口重定向到文件和命名管道。

哦,哇——太酷了。这台机器已经是一个虚拟机了——我没想到我可以通过那种方式重定向串行通信。我会尝试一下的——非常感谢! - robsoft

1

0

我认为在控制面板中的打印机选项里,你可以添加手动打印机并安装虚拟打印机。 这样你就可以将文件输出为打印文件。


谢谢您的建议。我最初尝试了类似的方法,但发现如果我的应用程序认为它与Windows打印机有关联,它就无法与COM端口通信。不过,我并不排除我做错了什么! - robsoft

-1

我不知道你是否可以重定向COM端口,但你可以使用com0com来完成这种工作。

例如,你可以将(COM1, COM2)进行配对,这样你就可以写入COM1并从COM2读取。


-1

如果您是开发人员,请使用.NET中的串行端口组件;如果您不是开发人员,只想将信息保存到文件中,请使用Windows HyperTerminal。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接