機械社區(qū)
標(biāo)題: 串口調(diào)試協(xié)議,請教 [打印本頁]
作者: robi 時間: 2011-3-10 16:05
標(biāo)題: 串口調(diào)試協(xié)議,請教
最近購買了一套BALLUFF的射頻識別設(shè)備,不怎么理解他的通信協(xié)議,想請教各位社友。
; i# i9 G# G% V9 [8 R- K
下圖是balluff說明書關(guān)于讀信息和寫信息的指令描述。
, z) A0 k: g* k7 x! V
我用串口調(diào)試助手試著寫了兩個指令:
讀 L 0050 0010 11J
寫 P 0050 0010 11R
這兩條指令跟說明書不一樣的地方在“11J”和“11R”,這是因為我用的是讀寫頭1,芯片的字節(jié)數(shù)是32byte。這個是沒有問題的。
串口調(diào)試助手設(shè)置如下:十六進制顯示
: ~: v% V! w' a. G. F
串口調(diào)試助手返回的信息如下。
1. 射頻芯片在讀寫頭附近時,和沒有射頻芯片在讀寫頭附近時,所采集的數(shù)據(jù)是一樣的。
L 0050 0010 11J
第一次點擊“手動發(fā)送”返回數(shù)據(jù)為
15 37 15 15 15 15 15 15 37
第二次點擊“手動發(fā)送”返回數(shù)據(jù)為
15 37 15 15 15 37
以后再點擊“手動發(fā)送”返回數(shù)據(jù)均為15 37 15 15 15 37
P 0050 0010 11R
第一次點擊“手動發(fā)送”返回數(shù)據(jù)為
15 37 15 15 37
第二次點擊“手動發(fā)送”返回數(shù)據(jù)為
15 37 15 15 15 15 15 37
有幾個問題請教各位社友,
1 說明書上畫紅線的地方,是什么意思?我百度HEX是十六進制的意思。70hex是指十六進制表示的70嗎?那和前面的‘1 2 3 4 5 6 7 8 9 A F’是什么關(guān)系呢?
2 串口調(diào)試助手返回的數(shù)據(jù)是什么意思呢?
謝謝!
作者: 舟航 時間: 2011-3-10 20:28
本帖最后由 舟航 于 2011-3-10 20:34 編輯
5 Q) Q6 r, @5 w' }$ V* O+ k
" E! p7 w& |2 @' V" |1 yBCC后面是十六進的效驗碼。具體還得仔細(xì)看下說明書。
作者: 舟航 時間: 2011-3-10 21:05
樓主不仔細(xì)看說明書啊,仔細(xì)看下P36,就沒問題了,我剛下載看了下,沒問題。
作者: 舟航 時間: 2011-3-10 21:14
舉例第一條紅線的算法:前面1、2、3、4、5、6、7、8、9、A經(jīng)過EXOR計算,得到F,換算成十六進為70HEX。
作者: robi 時間: 2011-3-10 21:19
回復(fù) 舟航 的帖子
( _. k$ w6 I1 g c( _; Q8 B: A8 ~2 e& E! S) ]
呀,謝謝版主啊!沒注意看這個。。" m) e, n" j$ N5 n; W/ z9 b
版主,那個The host system gives start command and data :<STX>'123453' 是什么意思呢?
# r9 `9 m: F/ c9 w7 n4 C" n是說我如果發(fā)送‘P 0500 0005 20R’ 系統(tǒng)應(yīng)該會返回‘123453’嗎?
# H0 |5 ?; s4 q% H4 U+ f5 R0 V; i
作者: robi 時間: 2011-3-10 21:26
回復(fù) 舟航 的帖子
2 r/ E& a$ O' b& a: g& d* t. A3 }/ a3 e9 S% [: `
我發(fā)現(xiàn)的的指令寫錯了。說明書上寫的P 0050 0005 20R,我改成了P 0050 0005 11,可是后面的BCC校驗還是寫的R。
! B3 e7 K- u1 A9 l. {9 W
& u' z9 f- N" ]9 N* M' ?* B H0 |P 0050 0005 11R 這條指令本來就錯了~: {" }) z7 L! D% ]0 k, C
( A# w- [. v" x- n( {6 p* T
謝謝版主,我明天再調(diào)一次看是什么情況~
; M0 N& ~6 a5 V" L, m
作者: robi 時間: 2011-3-10 21:33
回復(fù) 舟航 的帖子
, C6 z I; H" V- N' ]5 M* h$ Y* r5 ]
版主,我現(xiàn)在知道后面的3是33hex了。但是我不明白那整句話的意思。$ ^9 q, ]1 f1 x$ s
是說我把命令從host system發(fā)到設(shè)備的串口去,(因為我的指令只是告訴串口設(shè)備,我要讀信息,從哪個Byte到Byte的數(shù)據(jù)我都要讀。)那么是不是設(shè)備就會返回123453,告訴我收到我的指令,現(xiàn)在可以發(fā)數(shù)據(jù)了?是這個意思嗎? f" V* {3 v6 N/ O+ }/ U! s
因為我沒用過其他的串口通信設(shè)備,不知道他們的原理是不是就是我理解的這樣?
. ]' {8 w; i& ^) O# p$ p
作者: 苦逼設(shè)計 時間: 2012-8-9 15:26
學(xué)習(xí)下OOO
歡迎光臨 機械社區(qū) (http://www.ytsybjq.com/) |
Powered by Discuz! X3.5 |