使用pyserial读取serial的输出。

时间:2016-04-06 21:16:23

标签: python output pyserial

我的pyserial

有问题

首先,建立连接:

ser = serial.Serial(
device,
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)

如果我按一个键出现一个菜单(我看不到这个菜单,但我知道如果我按'1'获取数据转储):

0=Cfg
1=Dump
2=Erase
3=Cal
In->  

在我的代码中按“1”:

cmd = "1"
ser.write(cmd.encode('ascii'))

所以,当我按'1'时,序列结果是一个非常长的数字列表,如下所示:

816 81e 81e
828 820 820
816 816 81a
82a 826 824
816 80e 81a
81e 824 820
820 81a 80e
816 80e 81e
82a 81c 824
... and many other

我尝试在60秒后使用此命令读取输出: (60秒左右滚动所有行)

time.sleep(60)
dumpfile.write(str(ser.read_all()))

但是在dumpfile中我只有几行。 我如何读取串口的总输出?

1 个答案:

答案 0 :(得分:0)

经过漫长的一夜后,我找到了解决方案!!

while 1:
    serial_line = ser.readline()
    dumpfile.write(str(serial_line))
    print serial_line #for debug
    if len(serial_line) == 0:
      break