CreateFile打開串口時串口名字的寫法

打開COM1到COM9用:

m_hCom = CreateFile(_T("COM1:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, NULL, NULL);

或者

m_hCom = CreateFile(_T("COM1"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, NULL, NULL);

(第一個參數有沒有分號都可以)

 

或者

m_hCom = CreateFile(_T("////.//COM1"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, NULL, NULL);

(COM1後面不能有分號)

 

打開COM10之後的串口

m_hCom = CreateFile(_T("////.//COM15"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, NULL, NULL);

 

 

在網上查到:

    "COMX:",
    "/$device/COMX",
    "/$bus/PCMCIA_0_0_0"。
 其中第一種方式只適合從0~9的設備名,亦即COM10:中10超出了設備命名規範,所以用CreateFile打開設備失敗。
 使用第二種方式/$device/COM10,作爲參數傳遞給CreateFile,成功打開COM口,通訊正常,搞定。
 第三種是用在總線驅動上的,暫時沒涉及到

 

第二種方法試了好多編,還是沒打開。

 

以上結果只在XP平臺下測試,串口15爲USB轉串口 VS使用Unicode編碼

發佈了47 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章