2024-05-10 10:58:34 发布
网友
有没有办法在Pyserial中检测RS232中断条件?我可以看到发送中断的选项,但没有接收选项。在
谢谢
我不知道一个简单的方法来实现它,尤其是在python中,中断是一个事件,它应该用来重置通信。在
AFAIK pySerial支持发送Break,但不支持接收。在
您可以使用WaitCommEvent(),但这并不容易MSDN WaitCommEvent
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函数返回这个句柄。在
hCommDev
lpfdwEvtMask指向一个32位变量,该变量接收指示所发生事件类型的掩码。如果发生错误,则该值为零;否则,为以下值之一:
lpfdwEvtMask
你需要这个活动:
EV_BREAK输入时检测到中断。在
EV_BREAK
这里有一个example in c++
我不知道一个简单的方法来实现它,尤其是在python中,中断是一个事件,它应该用来重置通信。在
AFAIK pySerial支持发送Break,但不支持接收。在
您可以使用
WaitCommEvent()
,但这并不容易MSDN WaitCommEvent来自MSDN:
WaitCommEvent函数等待指定通信设备的事件发生。此函数监视的事件集包含在与设备句柄关联的事件掩码中。在
hCommDev
标识通信设备。CreateFile函数返回这个句柄。在lpfdwEvtMask
指向一个32位变量,该变量接收指示所发生事件类型的掩码。如果发生错误,则该值为零;否则,为以下值之一:你需要这个活动:
EV_BREAK
输入时检测到中断。在这里有一个example in c++
相关问题 更多 >
编程相关推荐