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

以 API 控制 COM Port 的傳輸格式不知為何

缺席
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-01 16:17:13 IP:210.201.xxx.xxx 未訂閱
各位前輩 當我以 API 的方式來控制 COM Port 從裝置(地磅)讀取所送來的資訊時,發現會有亂碼的資訊出現。經查站內相關資訊得知,其一極有可能是在兩方的傳輸格式不相符時所造成(ASCII or Binary)。 但不知,以 API 的方式來控制 COM Port 時,其傳輸格式預設為何?若要更改預設值又該如何設定。 其二為建議加上 Delay Time .. 但不知該 Delay Time 加在何處較為適當? 廠商特別強調 - 在 DOS 底下一切正常,在 Windows 下須要一些小技巧 ..不知是否和 UniCode 有關?不知各位前輩有何建議? 謝謝~
------
我也在努力學習中,若有錯謬請見諒。
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-09 21:39:37 IP:218.169.xxx.xxx 未訂閱
1.發現會有亂碼的資訊出現? 爾而發生,還是全部亂碼? 2.兩方的傳輸格式不相符? 變更地磅通訊格式,依使用手冊由面板操作. PC連接埠設定.內定值一般為Baud:9600,Databits:8Bits, None prity,1 Stopbit. 要更改PC連接埠設定值: DCB dcb; dcb.DCBlength = sizeof(DCB); GetCommState(hComDev,&dcb); dcb.BaudRate=CBR_9600; dcb.ByteSize=8; dcb.Parity=NOPARITY; dcb.StopBits=ONESTOPBIT; dcb.fBinary=TRUE; SetCommState(pty->hComDev,&dcb); 3.加上 Delay Time 一般地磅資料輸出方式有 A.連續輸出模式:地磅讀值穩定時,連續輸出.每秒約20~50筆. B.指令輸出模式:由PC下指令讀值,地磅才輸出1筆資料. B模式下需要加上延遲(Max50Samples/Second)及等待接收資料完整. A模式PC必須處理同步及大量資料接收問題. 問題到底在哪呢???
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-10 19:53:26 IP:61.64.xxx.xxx 未訂閱
DavidLo 謝謝您熱心的回應 1.發現會有亂碼的資訊出現? 爾而發生,還是全部亂碼? -->這個問題早已解決,查出的原由為廠商所給的協定資訊與實際不符..真的是很差勁。 2.兩方的傳輸格式不相符? -->同1的結果.. 3.廠商並沒有給全資訊,因為連可以向Device下Command的功能也沒有給我們..真的是太差勁了。 不過還是謝謝您熱心的回應
------
我也在努力學習中,若有錯謬請見諒。
系統時間:2024-04-27 5:10:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!