2017-06-01 117 views
0

我有一個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

任何幫助和指導,將不勝感激。

回答

0

我到底接觸的供應商,這個問題被設置爲錯誤的波特率。從9600改爲19200解決了這個問題。

0

你有從未使用\x4e,這是負從設備確認
嘗試

to_send = b'\x02F\x0d' 

獲得固件版本

+0

'\ x4e'它是否定的答覆,問題是我沒有收到一個。 –

+0

@DannyCullen:如果你發送一個有效的「命令」,你只會收到一些東西。你嘗試過「b'\ x02F \ x0d'」,仍然沒有收到任何東西? – stovfl

+0

在一個階段它是回聲。現在它只是沒有迴應。是的,我嘗試了很多數據組合發送,包括你的例子。 –

相關問題