C++ CreateFile COM端口错误2
我正在尝试在Windows7上打开COM串行端口,并使用Visual Studio 2012 C中的以下代码进行写入++C++ CreateFile COM端口错误2,c++,serial-port,C++,Serial Port,我正在尝试在Windows7上打开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
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;
}
此代码与argv[2]作为COM1或COM7很好地配合使用
我有另一个com端口COM39,当我将COM39作为argv[2]传递时,它没有打开
GetLastError返回2
不确定原因?CreateFile的MSDN页面在“通信资源”下显示以下内容:
要指定大于9的COM端口号,请使用以下语法:\\.\COM10。此语法适用于允许指定COM端口号的所有端口号和硬件。CreateFile的MSDN页面在“通信资源”下显示以下内容: 要指定大于9的COM端口号,请使用以下语法:\\.\COM10。此语法适用于允许指定COM端口号的所有端口号和硬件