com0com和pyserial虚拟串口。这可以用来模拟拔掉串口USB设备吗?

时间:2016-09-28 14:34:07

标签: python windows serial-port pyserial com0com

我正在使用com0com和pyserial。我打开一个端口,使用pyserial写入它并在YAT模拟器中读取它。这非常有效。此设置是否可用于模拟拔出模拟串行端口的USB设备?我想重新创建一个UnauthorizedAccessException,在拔下插头时,我们的应用软件很少会被真实设备抛出。使用pyserial写入CNCA0并成功使用YAT从CNCB0读取后,我试图从pyserial关闭CNCB0,当然它不会让我因为端口已被YAT获取(访问被拒绝)。有关如何模拟真实设备的拔出动作的任何想法?

1 个答案:

答案 0 :(得分:0)

未经授权的访问很容易复制。使用另一个应用程序打开端口,可能在另一个YAT选项卡中。当您尝试连接其他应用程序时,您应该收到未经授权的访问错误。但是,我不确定这是不是你问的问题。

如果你真的想模仿一个端口断开连接,你应该意识到你也受到串口驱动程序的支配。突然移除设备时,不同的驱动程序会表现不同。我所说的是,你可以欺骗自己认为你有一个防弹的异常处理过程,而实际上所有的赌注都是关闭的。

我做了一些com0com更改命令的实验,我所做的一切都不会导致端口“虚拟断开”。有关可用内容的详细信息,请参阅setupc.exe命令> help。

您可能还有兴趣使用模拟噪音功能。打开com0com的命令shell并执行

change <YOUR_PORT_CNC> EmuNoise=0.0001

该值是数据流损坏的百分比。有趣的东西。