使用异常处理机制
在代码中,通过try-except语句捕获可能发生的串行失败异常,并在except语句块中进行处理或重试操作,以确保程序的稳定性和正确性。
示例代码:
import serial
ser = serial.Serial('COM1', 9600)
while True:
try:
data = ser.readline().decode('utf-8').strip()
except serial.SerialException:
# 发生串行失败异常时,关闭串口并重新打开
ser.close()
ser = serial.Serial('COM1', 9600)
else:
# 处理正常读取的数据
print(data)
在上述代码中,当发生串行失败异常时,关闭串口并重新打开,以重置串口状态,确保正常读取数据。如果读取数据正常,则进行后续处理操作,比如输出到控制台等。这样,在程序出现串行读取失败时,不会导致程序崩溃,从而提高了程序的健壮性和稳定性。