我正在尝试使用 pyserial 与板进行交互,我正在发送一些命令并等待他们的回复正在使用这段代码等待 => 提示
# Waits till it finds the => prompt
def s_uboot_prompt(ser):
value = ""
matcher = re.compile("\=\>")
trymatcher = re.compile("try")
while (not matcher.search(value)):
if( trymatcher.search(value.strip()) ):
print "******* Command failure. Exiting ..... **********"
ser.write("boot\r")
ser.close()
sys.exit(0)
value = ser.readline()
print value
time.sleep(2)
它适用于所有命令,但对于输出非常大的 tftp 命令之一,它无法读取最后几行并且上述代码永远循环。发生这种情况有什么原因吗?我想不出任何合乎逻辑的理由。请注意,它无法读取最后几行。
谢谢