Is there any way to detect an RS232 BREAK condition in Pyserial? I can see options to send a break, but none to receive.
thanks
我不知道一种简单的方法,尤其是在 python 中,中断是一个事件,它应该用于重置通信。
AFAIK pySerial 支持发送中断,但不接收。
可以用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
输入时检测到中断。
你在这里有一个c++ 的例子