Pyserial从USB串口

时间:2017-05-18 17:06:43

标签: python pyserial

当我运行这个Python 3.5脚本时,我似乎遇到了问题 它适用于USB串行控制设备:

import serial
import time

ser1 = serial.Serial('/dev/tty.usbserial', 115200, timeout=0.1)

def setupMode():
    ser1.write(b'$PF,200\r\n')
    ser1.write(b'$PO,20\r\n')

setupMode()


def startMeasurments():
    ser1.write(b'$GO\r\n')

startMeasurments()

def checkUnit():
    ser1.write(b'$US\r\n')

checkUnit()

while True:
    data = ser1.read(9999)
    print ('Got:', data)

time.sleep(0.1)
ser1.close()

我得到了这些结果:

python maintest.py
Got: b''
Got: b''
Got: b''
Got: b''
Got: b''
Got: b''
Got: b''
Got: b''
Got: b''
Got: b''

打印数据的频率似乎是正确的,并且在测试时命令:

ser1.write(xxxxx)

它触发设备并将必要的数据输出到制造商提供的软件,因此它工作正常 - 只是python输出似乎不起作用。 我怎么能解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

也许这会奏效:

while True:
    data = ''
    while ser1.inWaiting()>0:
        data += ser1.read(1)
    if data:
        print ('Got:', data)