Python Pyserial根据环境产生不同的结果
我发现了这样一个奇怪的问题:在pythonshell中运行以下代码是可行的,但运行包含代码的python文件却不行Python Pyserial根据环境产生不同的结果,python,pyserial,Python,Pyserial,我发现了这样一个奇怪的问题:在pythonshell中运行以下代码是可行的,但运行包含代码的python文件却不行 import serial connection = serial.Serial("/dev/ttyACM0", 19200) write = connection.write("h\r".encode()) print(connection.read(connection.inWaiting())) connection.close() 直接在python3 shell中
import serial
connection = serial.Serial("/dev/ttyACM0", 19200)
write = connection.write("h\r".encode())
print(connection.read(connection.inWaiting()))
connection.close()
直接在python3 shell中运行会产生以下输出(这是正确的):
运行python文件时,会产生以下输出:
b''
我不知道是什么导致了不一致,有人知道吗?再多的延迟似乎也解决不了这个问题。time.sleep(1)在connection.write()和connection.read()之间进行连接没有帮助吗?设备可能没有足够的时间将任何内容放入其缓冲区我已尝试过时间。睡眠(5)没有结果。是否显示任何内容(将循环放在连接后。写入(“h\r.encode())):而1:print(connection.read())否,这表明缓冲区中没有任何内容。
b''