在Python中通过pySerial建立串行连接

问题描述 投票:0回答:1

我正在尝试通过 python 与热电偶温度计 PerfectPrime TC0309 进行串行连接,以在监控其他几个测试设备的程序中执行数据记录。

制造商提供了他们自己的软件来访问该工具,我已经安装了它并且工作正常。制造商还提供了有关串行连接的详细信息,并且我已使用 PC 上运行的 Termite 终端成功连接到设备。我相信这些结果证实了设备和电缆连接良好。

当我尝试在 python 中使用 pySerial 连接到端口时,我似乎成功建立了连接,但是我用来轮询 termite 中的设备的相同命令不会导致任何串行数据可在端口上读取.

import serial

ser = serial.Serial()
ser.baudrate = 9600
ser.port = 'COM4'
ser.bytesize = serial.EIGHTBITS
ser.stopbits = serial.STOPBITS_ONE
ser.xonxoff = False
serial.dsrdtr = False
ser.rtscts = True  # In termite, works as True or Falso
ser.parity = serial.PARITY_NONE # In termite, works none and odd
ser.timeout = 0
ser.open()
ser.write(b'K') # 'K' sent as text in termite results in the model number being returned "0309"
buffer = ser.in_waiting
print(buffer)
ser.close()

我期望等待中有数据可用,但程序总是返回0。

python pyserial
1个回答
0
投票

也许尝试 ser.write(b'K ') 或 ser.write(b'K ')。 一些UART协议逐行读取,每行的末尾标记为 或者 。我从未使用过 Termite 终端,但我使用过 vsCode 串行监视器扩展,它会自动附加 或者 取决于设置。

© www.soinside.com 2019 - 2024. All rights reserved.