编辑:重新考虑了这个问题后,也许我的问题可以总结如下:是否存在现有的 COM 终端类型程序,可以自动检测 COM 端口何时不可用并在可用时重新连接?
我有一个嵌入式控制器,它使用 STM32 微控制器,该微控制器使用其 USB 端口作为“虚拟 COM 端口”与计算机通信。我目前正在运行循环测试,其中控制器自动循环开启 5 分钟,关闭 10 秒。这是为了捕获每 50-200 次重启就会出现的错误。
设备已通过虚拟 COM 端口输出调试消息,但当设备重新启动时,USB 设备会断开连接并重新连接。然后,我用来监控输出的任何程序(putty、Tera Term 等)都会失去连接,我必须手动拔下并重新插入 USB 电缆,并重新启动我正在使用的任何 COM 应用程序。
我的目标是设置 Tera Term 或 putty 以保持 COM 端口打开并将整个会话写入日志文件,但由于重新启动,USB 设备不会持久。
有什么方法可以“虚拟化” USB 端口或以任何方式修改 .ini 文件以使 USB 端口持久存在?以下是我认为的 .ini 文件的相关部分
[USBtoSer.nt.Services]
AddService=usbser, 0x00000002, DriverService
[DriverService]
DisplayName=%USBIOMport%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys
我无法修改 STM32 上运行的嵌入式应用程序,只能通过 USB 上的预编程终端与其交互
编辑:这里是一条链接请参阅 Microsoft 提供的信息,了解上述内容的作用。我还没有确定哪种更改适合我的应用程序,因此我可能会尝试使用不同的 ErrorControl 和 StartType(但从我读到的内容来看,我几乎不怀疑它们会解决我的问题)