import serial # 导入串口通信模块
def read_line(ser):
'''递归循环读取串口'''
line = ser.readline() # 读串口
if not line:
return read_line(ser)
else:
return line
if__name__ == '__main__':
# 开启串口,用来接收控制程序指令
portx = "COM2" # COM2口用来读数
bps = 9600
# 串口执行到这已经打开 再用open命令会报错
ser = serial.Serial(portx, int(bps), timeout=1, parity=serial.PARITY_NONE, stopbits=1) # 设置并打开串口
while True:
# 这里希望先干点别的,然后再循环读取串口,直到收到指令
# 这里的程序不希望每次在读取串口时都循环一遍
line = read_line(ser) # 递归读取串口,读取到指令后返回