全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2338
推到 Plurk!
推到 Facebook!

int 轉 string 字串錯誤

答題得分者是:taishyang
dafeng0908
一般會員


發表:4
回覆:2
積分:1
註冊:2015-09-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-10-13 16:40:26 IP:60.251.xxx.xxx 訂閱
下面是我的程序片段,用於US232通訊,想幫封包加上PID
,當PID<0x10,字串RS232TXString是多一個字元,但發現sz = PID;
RS232TXString=":cr56789a\r" sz;
//
pTxStr = RS232TXString.c_str();
g_TRS232.RS232_Transmission(); //Transmission
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-10-13 17:20:56 IP:59.127.xxx.xxx 訂閱
PID = 0x10 = 16, 轉成字串 "16", 字元'1' = 0x31, 字元'6' = 0x36
PID = 0x0a = 10,
當PID 0x10後,最後傳出的字串會變二個字元;
ex. PID=0x10
最後送出的字串結尾是 0x31 0x30,這是什麼原因宣

dafeng0908
一般會員


發表:4
回覆:2
積分:1
註冊:2015-09-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-10-13 18:17:16 IP:60.251.xxx.xxx 訂閱
如果只想送出留下 0x10
應該怎麼寫會比較好呢
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-10-13 18:48:30 IP:59.127.xxx.xxx 訂閱
看不懂, 你最終想送出什麼內容?

===================引 用 dafeng0908 文 章===================
如果只想送出留下 0x10
應該怎麼寫會比較好呢
dafeng0908
一般會員


發表:4
回覆:2
積分:1
註冊:2015-09-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-10-14 10:00:36 IP:60.251.xxx.xxx 訂閱
ex. 我想透過uart固定傳一個字串+變數結尾(共三碼)

Tx : 'h' 'i' 0x01
Tx : 'h' 'i' 0x02
Tx : 'h' 'i' 0x03
Tx : 'h' 'i' 0x04
:
:
:
Tx : 'h' 'i' 0x10
Tx : 'h' 'i' 0x11
:
:
我希望rx收到也是三碼
Rx : 'h' 'i' 0x01
Rx : 'h' 'i' 0x02
Rx : 'h' 'i' 0x03
Rx : 'h' 'i' 0x04
:
:
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2015-10-14 11:22:09 IP:59.127.xxx.xxx 訂閱
AnsiString sz = "hi";
BYTE idx = 0x10;
sz = char(idx);

P.S: 要注意字串有null terminated的特性


===================引 用 dafeng0908 文 章===================
ex. 我想透過uart固定傳一個字串 變數結尾(共三碼)

Tx : 'h' 'i' 0x01
Tx : 'h' 'i' 0x02
Tx : 'h' 'i' 0x03
Tx : 'h' 'i' 0x04
:
:
:
Tx : 'h' 'i' 0x10
Tx : 'h' 'i' 0x11
:
:
我希望rx收到也是三碼
Rx : 'h' 'i' 0x01
Rx : 'h' 'i' 0x02
Rx : 'h' 'i' 0x03
Rx : 'h' 'i' 0x04
:
:
系統時間:2024-04-23 18:43:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!