无法在pyserial上发送Enter命令

时间:2018-09-30 13:03:15

标签: python cmd serial-port pyserial

我正在尝试使用pyserial使用以下python脚本从Windows将命令发送到串行com到gps硬件。 该脚本可以正常运行,并且可以执行命令所期望的操作。除了必须按“ Enter”键,命令才能执行期望的结果。 我尝试了许多发送回车但无法执行命令的方法。如何防止使用以下命令按Enter键来完成任务。请客气。这似乎很容易,但是我过去1周都无法克服。

import serial

port = "COM103"
baud = 115200

ser = serial.Serial(port, baud, timeout=1)
if ser.isOpen():
     print(ser.name + ' is open...')

while True:
    if cmd == 'exit':
        ser.close()
        exit()
    else:
        print('Sending..')
        ser.write("run MODE-55")
        ser.write("\r")

1 个答案:

答案 0 :(得分:0)

您需要检查设备支持哪个命令,可以是const firstTimer = timer(0, 1000); // emit 0, 1, 2... after every second, starting from now const secondTimer = timer(500, 1000); // emit 0, 1, 2... after every second, starting 0,5s from now const combinedTimers = combineLatest(firstTimer, secondTimer); combinedTimers.subscribe(value => console.log(value)); // Logs // [0, 0] after 0.5s // [1, 0] after 1s // [1, 1] after 1.5s // [2, 1] after 2s \r\n。由于您使用的是Windows,因此似乎使用了最后一个,因为\r\n是Windows中\r\n的序列。否则可能是Enter,因为\n已发送。

此外,您无需使用两个命令即可完成一项操作:

\r