有没有办法在Pyserial中检测RS232中断情况?我可以选择发送中断,但没有接收。
谢谢

最佳答案

我不知道有什么简单的方法可以做到这一点,特别是在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++

关于python - 破裂检测中断条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19971355/

10-16 08:46