有關RS232接收問題!! |
尚未結案
|
lvzhong1
一般會員 發表:29 回覆:18 積分:9 註冊:2007-01-23 發送簡訊給我 |
請問有經驗的前輩:
晶片處理 將信號產生器三角波-->(AD取樣-->RS-232)-->BCB 數值就一直透過RS232送,然後有時會發生藍色圈圈這種情形,突然有一點會變的極小!! 我有將數值存起來看~發現原本的數值因該要100 110 120 130 140 150 160 170 ........ 但會變成100 110 120 10 140 150 160 170........ 想請問是RS-232漏傳嗎?還是我接收程式有誤呢? 以下是我接收程式碼:(我是使用Tcomm元件) ----------------------------------------------------------------------- <textarea class="cpp" rows="10" cols="60" name="code"> void __fastcall TForm1::Comm1ReceiveData(TObject *Sender) { float resule; int p=1,j; DynamicArray |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
請參考版規PO程式碼,不然會有程式碼顯示不完全的現象
http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=84836 |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
lvzhong1
一般會員 發表:29 回覆:18 積分:9 註冊:2007-01-23 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
那就可以考慮你的com port 接收的速度太慢了。
也就是說發生了你太久沒去讀它造成 lost 了。 一個加大接收的 buffer 一個是採用 thread 把接收的動作以 thread 去執行,收入 環狀 buffer, 而你的程式去讀那個環狀 buffer 來處理。 看用這種方式能不能解決。 而我的話,因為我用AsyncPro 也有遇過這類的情況。 所以我在用它時,我用個環狀 buffer 就解決掉了。 ===================引 用 文 章=================== 嗯~我是有試過 晶片自己先送sin波(table值) 會發現值都很能順利接的到~不會有上面那種情況~ |
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
|
lvzhong1
一般會員 發表:29 回覆:18 積分:9 註冊:2007-01-23 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
lvzhong1
一般會員 發表:29 回覆:18 積分:9 註冊:2007-01-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |