2024-06-16 10:26:55 发布
网友
我一直在尝试与a piece of machinery沟通。 我使用手动CMD验证了COM端口和波特率以及8N1设置和打开端口等。 本手册指示使用\作为电报的起始字节,使用/作为电报的结束字节
\
/
当我运行它时,它基本上只是挂断,不确定我做错了什么
import serial char ser = serial.Serial('COM6' , 115200) ser.is_open ser.write(b'\p/') s = ser.read(9) print(s)
你可以这样试试。我没有设备来验证它
import serial ser = serial.Serial('COM6' , 115200) if ser.isOpen(): # Check is Serial is Open ser.write(b'\p/') # Write to Serial sleep(2) # Sleep for 2 seconds s = ser.read(9) # Read from Serial else: print("Serial is not open")
从手册中,它将“p”命令的返回代码显示为一个或两个字符。如果您试图在未设置超时的情况下读取9个字节,它将挂起,直到收到9个字节。在短暂延迟后,尝试使用ser.read_all()
非常有用=赛普拉萨德·巴拉苏布拉曼尼安+Mike67+Bukzor+SuzukiBKing 你的建议使我成功了。我计划稍后添加条件,thx SB;)
import serial import time ser = serial.Serial('COM6' , 115200) ser.write(bytearray([47, 112, 92])) time.sleep(2) s = ser.read_all() print(s)
你可以这样试试。我没有设备来验证它
从手册中,它将“p”命令的返回代码显示为一个或两个字符。如果您试图在未设置超时的情况下读取9个字节,它将挂起,直到收到9个字节。在短暂延迟后,尝试使用ser.read_all()
非常有用=赛普拉萨德·巴拉苏布拉曼尼安+Mike67+Bukzor+SuzukiBKing 你的建议使我成功了。我计划稍后添加条件,thx SB;)
相关问题 更多 >
编程相关推荐