線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2514
推到 Plurk!
推到 Facebook!

RS232 接收大量資料疑問?

答題得分者是:暗黑破壞神
suntea
一般會員


發表:18
回覆:16
積分:6
註冊:2006-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-23 12:32:59 IP:59.105.xxx.xxx 未訂閱
unsigned char TxCmdBuffer[6];
unsigned char RxCmdBuffer_Large[18000];

TComPort->ClearBuffer(true, true);
TComPort->Write(TxCmdBuffer, 6);
Sleep(200);

TComPort->Read(RxCmdBuffer_Large, sizeof(RxCmdBuffer_Large));

用RS232 Tcomport元件一次讀取大量資料
但每資料超過約4000bits , 後面的資料就收不到了
請問該如何解決呢?
編輯記錄
suntea 重新編輯於 2007-07-23 12:34:41, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-23 12:58:42 IP:218.170.xxx.xxx 未訂閱
Sleep(200)
只停了 200 ms
而你傳 4000 bits 要多久?
當然它後面就不見了呀。

===================引 用 suntea 文 章===================
Sleep(200);
TComPort->Read(RxCmdBuffer_Large, sizeof(RxCmdBuffer_Large));
用RS232 Tcomport元件一次讀取大量資料
但每資料超過約4000bits , 後面的資料就收不到了

suntea
一般會員


發表:18
回覆:16
積分:6
註冊:2006-12-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-23 13:07:15 IP:59.105.xxx.xxx 未訂閱
可是我試過Sleep(30000); 停了30秒
結果都在4096之後就消失了....

參數Baud rate 是115200
Data bits 是 8
Stop bits 是1
Parity 是 None
Flow control 是None

===================引 用 暗黑破壞神 文 章===================
Sleep(200)
只停了 200 ms
而你傳 4000 bits 要多久?
當然它後面就不見了呀。
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-23 14:22:33 IP:218.170.xxx.xxx 未訂閱
RS 232 的程式。不是這樣寫的吧。~_~
suntea
一般會員


發表:18
回覆:16
積分:6
註冊:2006-12-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-07-23 17:40:16 IP:59.105.xxx.xxx 未訂閱
感謝~已解決  除了時間要設對 緩衝區大小也要設置
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-07-23 18:43:23 IP:218.170.xxx.xxx 未訂閱
你要適時的去把 buffer 的資料讀出來。
不然它就會"流失"
系統時間:2024-05-03 23:17:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!