【问题标题】:com0com and pyserial virtual serial ports. Can this be used to simulate unplugging a serial usb device?com0com 和 pyserial 虚拟串口。这可以用来模拟拔出串行 USB 设备吗?
【发布时间】:2016-09-28 14:34:07
【问题描述】:

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

【问题讨论】:

    标签: python windows serial-port pyserial com0com


    【解决方案1】:

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

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

    我对一些 com0com 更改命令进行了一些试验,但我所做的任何事情都不会导致端口“虚拟断开”。有关可用功能的更多信息,请参阅 setupc.exe 命令 >help。

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

    change <YOUR_PORT_CNC> EmuNoise=0.0001
    

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

    【讨论】:

    • 谢谢科里。这不是我问的问题是正确的,我想要例外,但不是那种直截了当的方式:)但是你的评论有帮助,尤其是你说“你可以欺骗自己认为你有防弹的部分”异常处理过程。” Com0Com 很棒,它帮助我虚拟化了大多数交互,而不是无数设备发出哔哔声,我将文本粘贴到一个文本框中并在另一个文本框中模拟输出(当然不是防弹!)。噪音模拟听起来很酷,虽然我还没有尝试过。
    猜你喜欢
    • 1970-01-01
    • 2013-11-02
    • 2011-08-09
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多