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

利用Mscomm32 送Bin 資料

 
jimmy_and_you
初階會員


發表:20
回覆:74
積分:33
註冊:2003-05-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-13 13:12:30 IP:202.145.xxx.xxx 未訂閱
Mscomm32 是一個免費的物件,非常適合用來做開發RS-232的程式, 可是之前再做RS-232傳輸程式的時候,卻發現無法傳送Binary的資料, 原因是Mscomm32沒有提供這方面的函式,會將Binary 0x00 判斷為字串的結束, 於是就去試了粉多方法,無意間發現AnsiString其實可以用字元相加的方式, 把Binary的資料一一加入,既使中間有0x00也可以完全紀錄於AnsiString, 利用這個特性來做資料傳輸,下面是我的範例程式    SendData(void) {     AnsiString temp = "";     char test[7] = { 0x01 ,0x02 ,0x03 ,0x00 ,0x03 ,0x02 ,0x01 };        if(!MSComm->PortOpen)         MSComm->PortOpen = true;          for(int i=0;i<7;i ) temp = *(test i); MSComm->Output = StringToOleStr(temp); } 發表人 - dotdot 於 2003/08/19 23:50:36
dotdot
版主


發表:29
回覆:142
積分:64
註冊:2002-08-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-16 12:43:46 IP:61.70.xxx.xxx 未訂閱
感謝jimmy_and_you分享喔^^~
lin11112
初階會員


發表:42
回覆:83
積分:25
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-26 16:56:01 IP:60.248.xxx.xxx 未訂閱
請問jimmy_and_you大大 由您提供的說明,小弟試都OK 但如果要送的是unsigned char的buffer array 且數值超過0x7f便無法傳送正確 請問要如何解決呢? 如test[7]= { 0x01 ,0x0d ,0x03 ,0x00 ,0x03 ,0x90 ,0x01 }; 或 { 1 ,13 ,3 ,0 ,3 ,144 ,1 };
系統時間:2024-11-21 22:47:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!