gpt4 book ai didi

python - Pyserial 读取没有返回我写出的内容

转载 作者:行者123 更新时间:2023-12-01 07:33:21 24 4
gpt4 key购买 nike

目前我有一个树莓派端口连接到两个串行设备。这些设备是 USB 到 RS485/RS422 转换器。两者都用电线连接到适当的端子(设备A的端子1到设备B的端子2,设备A的端子2到设备B的端子1)。

我能够成功地从一个设备读取和写入另一台设备,但是返回的读取数据与我写入的数据不同。

例如,如果我尝试发送的消息是“Te”,则我读取的消息是b'U\x13\x00'

我目前正在buster 上运行python 3。

ser = serial.Serial(port='port 1', baudrate = 9600)
message = "Te"
message = message.encode('ascii')
while True:
ser.write(message)
time.sleep(1)

写.py

ser = serial.Serial(port = 'port 2', baudrate = 9600)
while True:
serial_line = ser.read(50)#placehoder until I am able to get correct values
print(serial_line)

读取.py

我除了将 read 中的字节输出转换为我在 write.py 中编写的字符串之外,但输出总是完全不同的东西。

编辑: link to serial devices (USB转RS-485/RS-422)

最佳答案

你的接线似乎是错误的:

... terminal 1 of device A to terminal 2 of device B, terminal 2 of device A to terminal 1 of device B...

对于 UART 或 RS232 来说没问题,但对于 RS485 来说,正确的接线是 A 到 A 和 B 到 B(直线而不是交叉 RX 到 TX)。

重新接线就可以了。

关于python - Pyserial 读取没有返回我写出的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57115657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com