Pyserial检测中断条件

2024-05-10 10:58:34 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法在Pyserial中检测RS232中断条件?我可以看到发送中断的选项,但没有接收选项。在

谢谢


Tags: 选项rs232条件pyserial办法
1条回答
网友
1楼 · 发布于 2024-05-10 10:58:34

我不知道一个简单的方法来实现它,尤其是在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++

相关问题 更多 >