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

問有關 ComPort 在 RS232 的傳輸監控??

答題得分者是:weber
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-29 17:04:18 IP:211.78.xxx.xxx 未訂閱
請問網友: 有人用 ComPort 元件,在 RS232 上開發程式? 並監控 XON/XOFF 或做流量管制,它的細節做法如何? 小妹目前透過 RS232 丟資料給 週邊, 礙於個人 delphi 的能力不足,無法實現一邊丟資料,一邊監控rs232狀況 猛丟的結果,造成週邊的接收 Buffer ,可能會 溢位,導致 data loss ? 不知各位的做法是用 軟體交握 或 硬體交握,還是有其它更好的建議? 有範例可以參考嗎? 謝謝您的回答及建議!!!! 感恩
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-05 09:28:29 IP:210.61.xxx.xxx 未訂閱
在OnTxEmpty事件裡讓已送出資料的旗標為真 Write OnTxEmpty event handler to take specific action when output buffer becomes empty, that is, all charachters in output buffer have been transmitted. 然後在要送出資料的程式碼區塊裡 若已送出資料, 才繼續外送資料 希望對您有幫助
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-05 23:29:51 IP:211.78.xxx.xxx 未訂閱
感謝 pedro 前輩的建議 我先試看看,若有結果在與各位分享好了
weber
初階會員


發表:24
回覆:56
積分:26
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-06 07:50:43 IP:61.217.xxx.xxx 未訂閱
RS/232 傳輸資料 Buffer 溢位有兩種情況: 1.電腦端RS/232元件 Output buffer 太小.這點比較好處理.只要把 Output buffer 設大一點即可. 2.設備端Input buffer 太小,也就是它處理消化的時間太慢.可惜的是我們無 法加大設備端的 Input buffer.處理方式大概有兩種: (1)查出設備端的 buffer 大小,及處理時間.分多次傳送.也就是先傳略小於 buffer size 的 data ,等候處理時間再繼續送 ...直到把資料送完. 這個方法比較不保險. (2)設定設備端和電腦端的 handshake ,handshake 分兩種一種是 software 也就是XON/XOFF , 另一種是 Hardware 也就是 CTS/RTS .當然電腦端的 RS/232元件也要做相對應的設定.這個方法最好. 基本上只要設定正確,程式上並無須任何特別的改變.還是和原來一樣傳送即可. 啊,什麼.你的設備無法設定 Handshake ,那建議你使用方法一,還有這種設備 以後千萬不要買了. 啊,你的 RS/232 元件無法設定 Handshake ,喔這個比較簡單,換一個吧!
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-08 17:17:44 IP:61.155.xxx.xxx 未訂閱
看看我刚发表的串口程式或许对您有帮助哦
系統時間:2024-04-24 13:24:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!