在python中读取单个命令后,串行端口被占用

在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,

我正在使用带有UART端口的
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。但是没有一个对我有用。你能帮忙吗??