C++ 调试断言在打开COM端口期间失败

C++ 调试断言在打开COM端口期间失败,c++,visual-c++,serial-port,serial-communication,C++,Visual C++,Serial Port,Serial Communication,我正在开发一个程序,使用Arduino UNO从接近传感器获取读数。虽然使用Arduino的内置串行监视器可以很好地获取读数,但不知何故,我无法从MS VC++打开相同的端口 以下是该计划的一部分: int main(void) { /*used for port"COM13"*/ HANDLE hCom=INVALID_HANDLE_VALUE; char input[30]; string ss,ss1,ss2,ss3,ss4; /*Open "C

我正在开发一个程序,使用Arduino UNO从接近传感器获取读数。虽然使用Arduino的内置串行监视器可以很好地获取读数,但不知何故,我无法从MS VC++打开相同的端口

以下是该计划的一部分:

int main(void)
{
    /*used for port"COM13"*/
    HANDLE hCom=INVALID_HANDLE_VALUE;

    char input[30];
    string ss,ss1,ss2,ss3,ss4;

    /*Open "COM13"*/
    hCom=CreateFile("COM13",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

    if(hCom==INVALID_HANDLE_VALUE)
    {
        printf("can't open file");
    }

    /*Communication Setting*/
    DCB dcb;
    memset(&dcb,0,sizeof (DCB));
    dcb.DCBlength=sizeof (DCB);
    dcb.BaudRate=CBR_9600;
    dcb.ByteSize=8;
    dcb.Parity=NOPARITY;
    dcb.StopBits=ONESTOPBIT;
    SetCommState(hCom,&dcb);

    while(1)
      {
      //using the data string inputs, printout the readings, process it etc... 
      }
}
当我尝试调试它时,会出现以下错误:

我从调试窗口中发现
无法打开文件
,显示端口打开时出现问题

其他一些信息:

  • 为什么是VC++?我还在同一个程序中使用OpenCV和一些数学计算,这样我在VC中工作就更容易了++
  • 我还用TeraTerm测试了我的UNO程序,数据读取没有问题(=我的UNO没有问题)
  • 我已经用另一个微控制器(非Arduino)测试了上述程序,没有问题
  • 如果需要,我会上传我的UNO程序


    提前谢谢

    从CreateFile上的MSDN页面:

    要指定大于9的COM端口号,请使用以下语法: “\。\COM10”。此语法适用于所有需要的端口号和硬件 允许指定COM端口号


    仍然有错误,但我改变了我的设备设置为COM2和它的工作!非常感谢你!顺便说一句,它的
    \\。\COM10
    (双斜线点斜线)