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

寫資料出去 RS232 的疑問?

尚未結案
elva349
一般會員


發表:15
回覆:21
積分:17
註冊:2007-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-27 14:38:29 IP:61.31.xxx.xxx 訂閱
想請問一下~ 我把資料寫出去 是使用WriteFile 這個function

BOOL WINAPI WriteFile(
  __in         HANDLE hFile,
  __in         LPCVOID lpBuffer,
  __in         DWORD nNumberOfBytesToWrite,
  __out_opt    LPDWORD lpNumberOfBytesWritten,
  __inout_opt  LPOVERLAPPED lpOverlapped
);
因為我在 Create COM 時 是這樣

[code cpp]
h_RS232=CreateFile(ComboBox1->Text.c_str(),
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, //設定成 OVERLAPPED
NULL);
[/code]

因為在讀資料的時候 我是用OVERLAPPED,現在讀資料沒有問題了,但是在寫資料出現了問題.
問題1: 我寫資料的時候可以不要用OVERLAPPED嗎?
問題2: 我一次要傳出去的是一筆比較長的字串,可是不知道為什麼 都會無法傳全部出去

我傳送的方法是這樣

[code cpp]

DWORD ByteCount;
OVERLAPPED ov ;
memset(&ov,0, sizeof(ov)) ;

WriteFile(
pObject->h_RS232,
TestMess.c_str(),
strlen(TestMess.c_str()),
&ByteCount,
&ov);

[/code]

TestMess 是我要傳出去的字串
我傳送是開另外一個Thread 來傳的
系統時間:2017-10-24 13:43:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!