以 API 控制 COM Port 的傳輸格式不知為何 |
缺席
|
adonis
高階會員 發表:140 回覆:258 積分:159 註冊:2002-04-15 發送簡訊給我 |
各位前輩 當我以 API 的方式來控制 COM Port 從裝置(地磅)讀取所送來的資訊時,發現會有亂碼的資訊出現。經查站內相關資訊得知,其一極有可能是在兩方的傳輸格式不相符時所造成(ASCII or Binary)。
但不知,以 API 的方式來控制 COM Port 時,其傳輸格式預設為何?若要更改預設值又該如何設定。 其二為建議加上 Delay Time .. 但不知該 Delay Time 加在何處較為適當? 廠商特別強調 - 在 DOS 底下一切正常,在 Windows 下須要一些小技巧 ..不知是否和 UniCode 有關?不知各位前輩有何建議? 謝謝~
------
我也在努力學習中,若有錯謬請見諒。 |
DavidLo
高階會員 發表:17 回覆:225 積分:168 註冊:2004-07-21 發送簡訊給我 |
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |