Pyserial 检测中断条件
Posted
技术标签:
【中文标题】Pyserial 检测中断条件【英文标题】:Pyserial detect break condition 【发布时间】:2013-11-14 06:48:12 【问题描述】:有什么方法可以检测 Pyserial 中的 RS232 BREAK 条件吗?我可以看到发送中断的选项,但没有接收选项。
谢谢
【问题讨论】:
【参考方案1】:我不知道一种简单的方法,尤其是在 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++
【讨论】:
以上是关于Pyserial 检测中断条件的主要内容,如果未能解决你的问题,请参考以下文章