有没有办法检测Pyserial中的RS232 BREAK条件?我可以看到发送休息的选项,但没有人可以接收。
感谢
答案 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++