使用'GNET'协议与USB设备进行串行通信

问题描述:

我有一个USB设备,下面有specification。第22页介绍了应该用于与设备交互的GNET protocol使用'GNET'协议与USB设备进行串行通信

连接是好的,但设备只是不给我任何回应,所以我认为我没有发送正确的数据,它可能错过了握手?

从规格

支持TTY(TELE TYPE)操作 - 使用TTY发送命令和消息

使用ASCII值的每个字段,并使用分隔符 “” 两个 字段之间。 enter image description here

connect_and_send.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是正确的端口:

enter image description here

任何帮助和指导,将不胜感激。

我到底接触的供应商,这个问题被设置为错误的波特率。从9600改为19200解决了这个问题。

你有从未使用\x4e,这是负从设备确认
尝试

to_send = b'\x02F\x0d' 

获得固件版本

+0

'\ x4e'它是否定的答复,问题是我没有收到一个。 –

+0

@DannyCullen:如果你发送一个有效的“命令”,你只会收到一些东西。你尝试过“b'\ x02F \ x0d'”,仍然没有收到任何东西? – stovfl

+0

在一个阶段它是回声。现在它只是没有回应。是的,我尝试了很多数据组合发送,包括你的例子。 –