在python中读取单个命令后,串行端口被占用
我正在使用带有UART端口的在python中读取单个命令后,串行端口被占用,python,serial-port,readline,pyserial,Python,Serial Port,Readline,Pyserial,我正在使用带有UART端口的pyserial与python建立连接。当我使用serial.write发送命令时,我的输出被接收,但我的串行端口没有断开连接。因为我还需要发送第二个命令来接收输出。请在这方面指导我 我还使用了ser.close,但仍然无法关闭端口 import serial ser = serial.Serial( port='COM5', \ baudrate=9600, \ parity=serial.PARITY_NONE,
pyserial
与python建立连接。当我使用serial.write发送命令时,我的输出被接收,但我的串行端口没有断开连接。因为我还需要发送第二个命令来接收输出。请在这方面指导我
我还使用了ser.close
,但仍然无法关闭端口
import serial
ser = serial.Serial(
port='COM5', \
baudrate=9600, \
parity=serial.PARITY_NONE, \
stopbits=serial.STOPBITS_ONE, \
bytesize=serial.EIGHTBITS, \
timeout= 10)
print("connected to: " + ser.portstr)
ser.write(b'\reeprom\r')
seq = []
count = 1
while True:
for c in ser.readline():
seq.append(chr(c)) # convert from ANSII
joined_seq = ''.join(str(v) for v in seq) # Make a string from array
if chr(c) == '\n':
print("Line " + str(count) + ': ' + joined_seq)
seq = []
count += 1
break
ser.close()
你能告诉我哪里出了问题吗。我希望我应该将激发的命令输出到UART,然后代码应该退出而不是继续运行。我还想知道这是否有效,我是否可以再次建立连接并向UART发出第二个命令。请在这方面帮助我。您是否查看了关于readline函数的警告:@vermaete是的,我已经看到了这一点,并且已经在我的代码中添加了超时,但它似乎对我不起作用。@vermaete,因为我是一个新的将uart与python结合使用的人。你能帮我解决这个问题吗?@vermaete我甚至还设置了timeout和serial.close。但是没有一个对我有用。你能帮忙吗??