如何检测串行通信打开时设备何时断开连接?



我想知道是否有办法在串行通信打开时检测设备的物理断开?在发送数据时编写 try-except 代码的唯一方法是什么?

没有标准方法来检测串行设备是否连接到RS-232,RS-422和其他串行接口 - 可能有例外,但我不知道。对于RS-232,能够接收和发送的最低要求电线是接地,TX和RX。对于RS-422或RS-485等差分串行接口,不需要接地。如果您对所连接设备的行为有所了解,则可以使用它。就像您希望对发送的命令做出某些响应,或者以某种方式设置 RS-232 标志一样。

使用 pyserial isopen((,如果它是否打开,它都会返回一个布尔值。 导入串行

ser = Serial.Serial("您的串行信息"( Ser.isOpen((

最新更新