Barcoder reader (RS232)收到資料切斷 |
答題得分者是:jcjroc
|
helsing
一般會員 發表:7 回覆:15 積分:4 註冊:2004-07-06 發送簡訊給我 |
各位大大,小弟透過RS232讀取從Barcoder reader 掃描出來的條碼,秀在視窗上,可是是用time去觸發,每0.2秒去讀取一次,但是發現資料有被切斷的問題
例如每筆都是10碼,但可能中間就有一個號碼會被切斷:如下,請問不可以用時間嗎??那該如何去觸發呢??隨時知道有資料進來呢??以下如何設置比較好,謝謝 TimeOut.ReadIntervalTimeout = 0; TimeOut.ReadTotalTimeoutMultiplier = 0; TimeOut.ReadTotalTimeoutConstant = ReadTotalTimeout; //100; //總讀取時間 TimeOut.WriteTotalTimeoutMultiplier = 0; TimeOut.WriteTotalTimeoutConstant = 500; //(總寫入時間 time =0.5秒) 第1筆 1111111111111111 第19筆121111111 1111111 ----------------------------------------------------------------------------------- String Temp; char inbuff[1024]; DWORD nBytesRead, dwEvent, dwError; COMSTAT cs; //取得狀態 ClearCommError(hComm, &dwError, &cs); // 資料是否大於準備的Buffer if(cs.cbInQue>sizeof(inbuff)) { PurgeComm(hComm, PURGE_RXCLEAR); //清除com資料 return; } ReadFile(hComm, inbuff, cs.cbInQue, &nBytesRead, NULL); //接受com資料 if (nBytesRead == 0 ) return; i ; Label1->Caption=IntToStr(i); //將資料移到變數中 inbuff[cs.cbInQue]='\0'; //將資料顯示於memo上 Label2->Caption=inbuff; |
jcjroc
高階會員 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |