Pyserial检测断裂条件

时间:2013-11-14 06:48:13

标签: python pyserial

有没有办法检测Pyserial中的RS232 BREAK条件?我可以看到发送休息的选项,但没有人可以接收。

感谢

1 个答案:

答案 0 :(得分:0)

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

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++