討論區快速選單
知識庫快速選單
Excel也能做到大數據分析? 討論區最近新進100則主題 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
關於COM PORT的設定
更改我的閱讀文章字型大小
作者 : aaronsdd(愛倫)
[ 貼文 14 | 人氣 1166 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/2/15 上午 10:35:21
以下是參考網路上的一些設定,但實際在機器上卻無法去取得COM PORT 上的DATA,不知哪裡遺漏了?

handle1=CreateFile(L"COM1:",GENERIC_READ|GENERIC_WRITE,0,
NULL,OPEN_EXISTING,0,NULL);//create first handle to open & access driver;
//ASSERT(handle1);//return if handle1 is creating successfully!
if(handle1==0)
MessageBox(NULL,L"result",L"CAN'T open",MB_OK);
DCB config;
GetCommState(handle1, &config);
config.BaudRate = 9600 ;
config.Parity = NOPARITY;
config.ByteSize = 8;
config.StopBits = ONESTOPBIT;
SetCommState(handle1, &config);

COMMTIMEOUTS comTimeOut;
comTimeOut.ReadIntervalTimeout = MAXDWORD;
comTimeOut.ReadTotalTimeoutConstant = 10;
comTimeOut.ReadTotalTimeoutMultiplier = 10;
comTimeOut.WriteTotalTimeoutConstant = 0;
comTimeOut.WriteTotalTimeoutMultiplier = 0;
SetCommTimeouts(handle1, &comTimeOut);
利用以下的方法,開啟一預設資料的檔案去測試讀寫BUFFER是否有錯,結果是OK的,所以問題點應該在於COM PORT是否成功被呼叫,只是設定參照了網路上的範例,還是不行,有前輩可指點迷津嗎?? 感激不盡啊!
/*handle1=CreateFile(L"hello.txt",GENERIC_READ|GENERIC_WRITE,0,
NULL,OPEN_EXISTING,0,NULL);*/
作者 : aaronsdd(愛倫)
[ 貼文 14 | 人氣 1166 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/2/15 下午 04:24:42
測試handle1、GetCommState(handle1, &config)、SetCommState(handle1, &config)、SetCommTimeouts(handle1, &comTimeOut)回傳值都是非零,表示設定應該是successful的! 也確定com port上是有data的,但為何就是無法存取至檔案咧??
作者 : aaronsdd(愛倫)
[ 貼文 14 | 人氣 1166 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/2/21 上午 10:29:31
若只去讀取COM PORT的資料(沒有寫入COM PORT),將其讀取的資料先暫存在buffer中,然後再寫入另一個檔案! 這樣需要另外設至Thread嗎? 我的作法是利用TIMER定時讀取COM PORT,這樣的寫法有沒有哪邊比較有問題,需要做修改,或是有其他更好的建議方法
? 怎麼在實機上都無法讀取資料!! 快被搞瘋啦!!
case WM_TIMER:
while (ReadFile(handle1, buffer, 1, &size, NULL) != 0)
{
   if (size > 0)
   {
     WriteFile(handle2,buffer,1,&ret,NULL);
     SetDlgItemText(hDlg,IDC_EDIT1,(LPCTSTR)buffer);
   }
   else
  {
    SetDlgItemText(hDlg,IDC_EDIT1,L"nothing coming!");
    break;
  }
}
break;

作者 : yamamoto(迷糊書僮)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/11/24 上午 09:45:20
我也碰到一樣的問題

請問您把此問題解決了嗎?

如果有解決的方法麻煩告訴我>..<

killangle@livemail.tw

 板主 : 徵求中
 > WinCE/eVC - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - WinCE/eVC - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
WinCE/eVC
1 ChannelAyu 800 
2 770 
3 jonathan321 380 
4 lzx 220 
5 house 220 
6 ohyajack 160 
7 joe 130 
8 =悠= 120 
9 2338998 110 
10 阿偉 100 
WinCE/eVC
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875