打開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編碼