无法使用PySerial接收回复,但是超级终端无效

时间:2015-02-12 11:36:53

标签: python pyserial

我有一个设备(Pololu Wixel),我正在尝试使用USB串行连接进行通信。超级终端工作正常但我正在尝试使用Python以获得更大的灵活性。我可以向设备发送命令,但是当我尝试接收所有命令时,我发送的是命令。但是,如果我打开Hyperterminal,我会收到脚本发送的命令的回复。我的代码如下。我有点不知所措,看起来这应该是相当简单的。我感谢任何帮助。

import serial
import time

'''
Go through 256 COM ports and try to open them.
'ser' will be the highest port number. Fix this later.
'''

for i in range(256):

    currentPort = "COM" + str(i+1)

    try:
        ser = serial.Serial(currentPort,baudrate=115200,timeout=5)
        print("Success!!")
        print(ser.name)
    except:
        pass

print(ser.isOpen())
str = "batt"    #Command to request battery levels.
ser.write(str.encode())

x = ser.inWaiting()
print(x)

while ser.inWaiting() > 0:
    out = ser.readline()
    print(out.decode())

1 个答案:

答案 0 :(得分:1)

  1. 找到活动端口后添加一个中断,
  2. 尝试将不同的 eol 值传递给readline()," \ r"或" \ r \ n"。