[問題] 關於RS232介面設計

看板C_and_CPP (C/C++)作者 (熱爆了!!)時間13年前 (2012/09/11 13:03), 編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/2 (看更多)
各位好,最近用CLR windows form application 寫一個視窗程式接收RS232(來源8051)的資料,並將資料即時顯示繪圖 基本上,8051資料送出的部份已確認沒問題 剩下就是視窗程式這邊資料漏接的問題 拜過Google大神,有人建議如下 (1) 建立一個監控RS232埠的thread (2) 將接收資料放置序列中 (3) 使用另一個thread做後處理(即繪圖等) 目前我的作法是用,VC2008內建的serialPort元件處理(1)的部份 (2) 則是採用Queue的方式去暫時存放資料 最後使用backgroundWorker去判斷Queue是否有東西,有的話將資料取出做後處理 但是,結果似乎沒有改善,不知道問題出在哪裡? 不知道各位先進可否可以指引我一個方向 ps. 我資料傳輸的量約 150 bytes/sec ,bps 設定為9600 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.103.111

09/11 16:19, , 1F
有查過是否 queue 長度不夠嗎??
09/11 16:19, 1F

09/11 18:20, , 2F
有沒有接usb<->RS232,若有嘗試換條看看
09/11 18:20, 2F

09/11 23:14, , 3F
Queue長度應該夠,我嘗試過直接將資料丟到Queue後,在用一個
09/11 23:14, 3F

09/11 23:15, , 4F
button等資料傳完,在去啟動繪圖,這樣問題會比較不明顯
09/11 23:15, 4F

09/11 23:16, , 5F
但是如果要做到即時,速度增加,問題就會很明顯,有用過商
09/11 23:16, 5F

09/11 23:18, , 6F
用軟體試過,RS232轉USB送過來的資料都是齊全的
09/11 23:18, 6F

09/12 19:33, , 7F
我大學專題的做法跟你GOO到的一樣
09/12 19:33, 7F

09/12 20:50, , 8F
存取 Queue 的前後有加 mutex 嗎??
09/12 20:50, 8F
文章代碼(AID): #1GJiOlCK (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1GJiOlCK (C_and_CPP)