Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySerial接收未知数量的数据_Python_Arrays_Pyserial_Arduino Due - Fatal编程技术网

Python PySerial接收未知数量的数据

Python PySerial接收未知数量的数据,python,arrays,pyserial,arduino-due,Python,Arrays,Pyserial,Arduino Due,大家好,我正在使用Python 2,我正在尝试通过串行端口从Arduino接收数据 我正在使用PySerial收集数据,但我将其切碎,无法使用readline。通过串行发送的阵列的大小随时间而变化 当我输入一个非常大的值来读取时,它不会返回一个值。我认为它一直在等待,直到收到那个数量的字节 我想知道是否有一种方法可以在每次执行脚本时完成数组 守则: class SerialReceiver(serial.Serial): def __init__(self, portName): sup

大家好,我正在使用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

如果没有明确指示数组的长度或结尾,那么您所能做的就是读取超时-比字符之间的任何合法延迟都要长。我想我太累了,因为我没有看到明显的解决方案。非常感谢:)