Python 使用'与USB设备进行串行通信;GNET&x27;协议
我有一个USB设备,具有以下功能。第22页描述了应用于与设备交互的Python 使用'与USB设备进行串行通信;GNET&x27;协议,python,usb,pyserial,Python,Usb,Pyserial,我有一个USB设备,具有以下功能。第22页描述了应用于与设备交互的GNET协议 连接很好,但是设备没有给我任何响应,所以我想我没有向它发送正确的数据,可能错过了握手 来自规范 支持TTY(电传)操作-使用TTY发送命令和消息 对每个字段使用ASCII值,并在两个字段之间使用分隔符“,” 领域。 连接并发送.py import serial port = "COM3" baud = 9600 ser = serial.Serial(port, baud, timeout=1) if ser
GNET协议
连接很好,但是设备没有给我任何响应,所以我想我没有向它发送正确的数据,可能错过了握手
来自规范
支持TTY(电传)操作-使用TTY发送命令和消息
对每个字段使用ASCII值,并在两个字段之间使用分隔符“,”
领域。
连接并发送.py
import serial
port = "COM3"
baud = 9600
ser = serial.Serial(port, baud, timeout=1)
if ser.isOpen():
print(ser.name + ' is open...')
# STX, N, CR
to_send = b'\x02\x4e\x0d'
print "Sending {}".format(to_send)
ser.write(to_send)
out = ser.read()
print('Receiving...'+out)
COM3是正确的端口:
任何帮助和指导都将不胜感激。您从未有过要使用\x4e
,这是来自设备的否定应答。
试一试
为了获得固件版本,我最终联系了供应商,问题是波特率设置错误。将9600更改为19200解决了问题。\x4e
这是对回复的否定确认,问题是我没有收到回复。@DannyCullen:只有在发送有效的“命令”时,您才会收到内容。您是否尝试过“b'\x02F\x0d'”,但仍然没有收到任何消息?在某个阶段,它发出了回声。现在它根本没有回应。是的,我尝试了很多数据组合发送,包括您的示例。@DannyCullen:请在回答中继续使用这个命令“b'\x02F\x0d'”。如果你告诉别人发生了什么,你的评论很难理解。我再次询问:您是否收到命令“b'\x02F\x0d'”的答复?现在确实返回固件版本号,波特率是问题所在。
to_send = b'\x02F\x0d'