PySerial接收未知数量的数据

时间:2017-01-24 20:22:26

标签: python arrays pyserial arduino-due

您好我正在使用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

0 个答案:

没有答案