【问题标题】:Pyserial detect break conditionPyserial 检测中断条件
【发布时间】:2013-11-14 06:48:12
【问题描述】:

有什么方法可以检测 Pyserial 中的 RS232 BREAK 条件吗?我可以看到发送中断的选项,但没有接收选项。

谢谢

【问题讨论】:

    标签: python pyserial


    【解决方案1】:

    我不知道一种简单的方法,尤其是在 python 中,中断是一个事件,它应该用于重置通信。

    AFAIK pySerial 支持发送 Break,但不支持接收。

    你可以使用WaitCommEvent(),但不是那么容易MSDN WaitCommEvent

    来自 MSDN:

    WaitCommEvent 函数等待指定通信设备发生事件。此函数监视的事件集包含在与设备句柄关联的事件掩码中。

    BOOL WaitCommEvent(
        HANDLE  hCommDev,       // handle of communications device
        LPDWORD  lpfdwEvtMask,  // address of variable for event that occurred  
        LPOVERLAPPED  lpo,      // address of overlapped structure );
    

    hCommDev 标识通信设备。 CreateFile 函数返回此句柄。

    lpfdwEvtMask 指向一个 32 位变量,该变量接收一个指示发生的事件类型的掩码。如果发生错误,则该值为零;否则,它是以下值之一:

    你需要这个活动:

    EV_BREAK 在输入时检测到中断。

    你在这里有一个example in c++

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多