有没有办法在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/