创建文件 COM 端口错误 2
CreateFile COM port error 2
我正在尝试打开并写入 Windows 7 上的 COM 串行端口,使用 Visual Studio 2012 (C++)
中的以下代码
printf("argv[2]= '%s'\n", argv[2]);
m_hCommPortSend= ::CreateFile(argv[2] ,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if(m_hCommPortSend == INVALID_HANDLE_VALUE)
{
printf("%s error: %d\n", argv[2], GetLastError());
return -1;
}
This Code works well with argv[2] as COM1 or COM7
我有另一个 com 端口 COM39,当我将 COM39 作为 argv[2] 传递时,它没有打开
GetLastError() 返回 2.
不知道为什么?
CreateFile 的 MSDN 页面在通信资源下说明如下:
要指定大于 9 的 COM 端口号,请使用以下语法:\.\COM10
。此语法适用于允许指定 COM 端口号的所有端口号和硬件。
我正在尝试打开并写入 Windows 7 上的 COM 串行端口,使用 Visual Studio 2012 (C++)
中的以下代码printf("argv[2]= '%s'\n", argv[2]);
m_hCommPortSend= ::CreateFile(argv[2] ,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if(m_hCommPortSend == INVALID_HANDLE_VALUE)
{
printf("%s error: %d\n", argv[2], GetLastError());
return -1;
}
This Code works well with argv[2] as COM1 or COM7
我有另一个 com 端口 COM39,当我将 COM39 作为 argv[2] 传递时,它没有打开 GetLastError() 返回 2.
不知道为什么?
CreateFile 的 MSDN 页面在通信资源下说明如下:
要指定大于 9 的 COM 端口号,请使用以下语法:\.\COM10
。此语法适用于允许指定 COM 端口号的所有端口号和硬件。