从串口获取返回值。(python)

时间:2016-07-12 19:29:59

标签: python pyserial

我正在使用Pyserial编写一个GUI应用程序来控制Novatech ddsm频率合成器板。我可以通过连接到串口(putty)的命令提示符发送不同命令的列表,当我发送正确的命令时,它返回' OK'。我似乎无法让我的python脚本看到' OK'在我写了一些东西到串口后。这不是我的实际代码,因为它很长,但我不能让它工作:

    import serial
    ser = serial.Serial(
        port='COM3', baudrate=19200, bytesize=8, 
        parity='N',       
        stopbits=1, timeout=1
        )
    command = 'f0 100'
    ser.write(command.encode())
    msg = ser.read(64)
    print(msg)

运行时我只会回来:

    b'f0 100'

2 个答案:

答案 0 :(得分:0)

您是否曾尝试过两次通话,或多次使用readline()?如果它工作,你可以创建一个while循环,直到返回值== b""(当没有更多响应时你得到的行)。希望这会有所帮助。

答案 1 :(得分:0)

您最后可能需要添加\ r \ n,可能就是这样!我使用AT命令,你应该添加它! \ r \ n用于太多命令,包括用于gsm模块处理的AT命令。同样,当jasonharper精确化时,在大多数终端中你需要输入,这是所用命令的标准。主要是精确到命令结束的地方。