請問 如何用UART表示 2byte 以上的變數?? |
答題得分者是:foreman
|
loveforme
一般會員 發表:22 回覆:39 積分:22 註冊:2009-03-24 發送簡訊給我 |
|
foreman
高階會員 發表:3 回覆:124 積分:190 註冊:2004-09-10 發送簡訊給我 |
|
loveforme
一般會員 發表:22 回覆:39 積分:22 註冊:2009-03-24 發送簡訊給我 |
|
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
|
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
傳送 2 bytes 以上,你也可以自訂 Protocal, 接收端接收後再重新排列組合就行了.
概念上應該這樣可以. ===================引 用 loveforme 文 章=================== 請問 如何用UART表示 2byte 以上的變數?? 這個問題困擾我很久了... 我知道有些時候可以用一些特別的辦法, 產生1byte的變數來個別代表終端機所要顯示的個位數、十位數、百位數... 但是...總是會有一些時候,所要表達的變數是要經過複雜的計算! 所得到的結果往往都是2byte以上的變數~ 想請教大大們...有沒有技巧可以來顯示這類型的變數呢? |
loveforme
一般會員 發表:22 回覆:39 積分:22 註冊:2009-03-24 發送簡訊給我 |
|
KSC
一般會員 發表:4 回覆:18 積分:4 註冊:2006-09-17 發送簡訊給我 |
這樣說吧
例如你傳8bit 你傳送方是不斷發送的,那接收的就不斷接收(A,B,C,D 都是8bit data) ie: ABCD====>ABCD 但轉成16bit會有問題,因為接收的不知那個才是MSB eg: ABCD===> 是AB,CD一組 還是 BC是一組 方法有很多,例如加一個特別的編碼在頭or 尾 eg:@AB*@CD*===>AB,CD 或分成4bit一組,用頭4bit做記號(abcd都是4bit data分拆自兩個8bit data) eg:1a,2b3c4d1e2f3g4h======>abcd(16bit) , efgh(16bit) 這樣的方式就是potocal的設計 至於如何定編碼(即將abcd變1a,2b3c4d)和解碼(相反)就需要自己想想 |
loveforme
一般會員 發表:22 回覆:39 積分:22 註冊:2009-03-24 發送簡訊給我 |
|
KSC
一般會員 發表:4 回覆:18 積分:4 註冊:2006-09-17 發送簡訊給我 |
|
loveforme
一般會員 發表:22 回覆:39 積分:22 註冊:2009-03-24 發送簡訊給我 |
|
KSC
一般會員 發表:4 回覆:18 積分:4 註冊:2006-09-17 發送簡訊給我 |
http://www.asciitable.com/
例如以7,6,5,4做前4 bit,如你收到 pkZO 即是 Hex (706B5A4F) 解碼 hex(0BAF)==>dec( 2991) 當然這例子只係概念,會錯的 你也可以用string "@"分開data 如你收到 @TT@ED 就是收到TT 即bin(0101010001010100)和ED 即bin(0100010101000100)
編輯記錄
KSC 重新編輯於 2009-04-06 16:01:17, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |