如何通过py串口每秒读取100个或更多的字符串

时间:2017-09-05 07:15:59

标签: python pyserial zigbee

从串口接收数据的程序 -

import serial
import time 

ser = serial.Serial(
    port='/dev/ttyAM0',
    baudrate=57600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout=1)

while 1:
    BytesToRead = ser.inWaiting()
    x = ser.read(BytesToRead)
    print x

输入 - @ 1,12,5,0:0:1#这些类型的每秒100个字符串 输出 - 混合数据丢失和混乱的数据

注意 - 字符串是通过zigbee从arduino接收的。我究竟做错了什么?有没有延迟问题或我通过串口错误地读取字符串?

1 个答案:

答案 0 :(得分:0)

如果没有要读取的字节,那么您就不应该尝试阅读或打印它们。

while 1:
    BytesToRead = ser.inWaiting()
    if BytesToRead > 0:
        x = ser.read(BytesToRead)
        print x