为什么我用
m_hComm = CreateFile("COM3",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
NULL,
0);
后用GetCommState()出错,代码是57
但用
m_hComm = CreateFile("\\\\.\\COM3",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
NULL,
0);
就不会报错,这是为什么?
m_hComm = CreateFile("COM3",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
NULL,
0);
后用GetCommState()出错,代码是57
但用
m_hComm = CreateFile("\\\\.\\COM3",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
NULL,
0);
就不会报错,这是为什么?
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL); // 重叠方式
if(h_com==INVALID_HANDLE_VALUE)
{
MessageBox("不能打开这个串口或者此串口已被占用!","友好提示",MB_OK|MB_ICONWARNING);
return;
}
确定一下你的串口打开了吗?
直接用“COM3”可以打开,但是GetCommState()报错,其它设置函数也一样,用"\\\\.\\COM3"就不报错,想知道这是什么原因
可以确定的是h_com 不等于INVALID_HANDLE_VALUE,我一条条运行下去的
单独的COM3不是表示串口设备的吧
单独的COM3不是表示串口设备的吧我试过,我用其它设备的时候直接用COM3可以打开,并可以使用