嗨,我正在使用 Python 2,并且正在尝试通过串行端口从 Arduino 接收数据。
我正在使用 PySerial 收集数据,但我把它切碎了,我不能使用 readline。通过串行发送的数组大小随时间变化。
当我读取一个非常大的值时,它不会返回一个值。我认为它一直等到收到该字节数。
我想知道每次执行脚本时是否可以让数组完成。
编码:
class SerialReceiver(serial.Serial):
def __init__(self, portName):
super(SerialReceiver, self).__init__()
self.port = portName
self.baudrate = 115200
self.timeout = None
self.xonxoff = 1
try:
self.open()
except serial.SerialException:
sys.stderr.write("Could not open serial port %s\n" % (portName))
sys.exit(1)
if __name__ == '__main__':
serialReceiver = SerialReceiver('COM3')
while True:
sended = raw_input("Pulsar 'O' para recibir data:")
serialReceiver.write(sended)
data = serialReceiver.read(2048*2)
print data