如何在Python脚本中以与PuTTy相同的方式通过串口发送命令

3

我有一台连接在电脑上的HPLC泵,通过串口连接。使用PuTTy可以向它发送命令,例如REMOTE来从电脑控制它(泵上的显示屏会更改以显示它确实处于远程模式)。然而,当我从Python使用相同的命令时,设备没有响应。

import serial
pump = serial.Serial(port='COM2', baudrate=19200)

我已经尝试过

pump.write('REMOTE\n'.encode())

并且

pump.write(b'REMOTE\n')

pump.write(b'REMOTE')

你的一些设置可能有问题,能否提供泵的使用手册链接?或者,你可以添加一个成功使用PuTTY进行配置的截图。 - undefined
这是泵的手册上写的 通信协议设置 以下设置用于RS232通信端口: 波特率:115200;38400、19200、9600 停止位:1 数据位:8 奇偶校验:无 流控制:硬件PuTTy的设置如下: COM2 波特率:19200 数据位:8 停止位:1 无奇偶校验 xonxoff流控制 - undefined
dsrdtr在PuTTY中也会卡住,但rtscts可以正常工作。因此,在PuTTY中既可以使用xonxoff,也可以使用rtscts。 - undefined
你是不是在使用相同的串口和相同的电缆来连接PuTTY和Python?你说的听起来确实很奇怪。 - undefined
顺便一提,硬件流控制(RTS-CTS或DSR-DTR)与XON/XOFF完全不同。硬件流控制需要连接比TX、RX和GND更多的电缆。但根据你所说,我猜测你的设备使用的是XON/XOFF,而不需要硬件流控制。某些版本的Pyserial在XON/XOFF方面可能存在问题,所以你可能希望更新或确保你的版本是好的。 - undefined
显示剩余2条评论
1个回答

3
我已解决这个问题。
我需要使用:
pump.write(b'REMOTE\r')

\n

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接