用Open(portName,CFile::modeReadWrite,e)打开串口,
其中portName不管是“com10:”或“\\\\.\\com10:”都打不开,为什么啊?

解决方案 »

  1.   

    我觉得应该用CreateFile函数打开串口,你可以去www.codeproject.com上面下载一个串口类。
      

  2.   

    wsprintf( szPort, "COM%d", nPort );
    m_hIDComDev = CreateFile( szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL );
    if( m_hIDComDev == NULL ) return( FALSE );
      

  3.   

    楼上的wsprintf( szPort, "COM%d", nPort );
    我觉得应该改成wsprintf( szPort, "\\\\.\\COM%d", nPort );
      

  4.   

    先看看你的设备管理器里面有没有COM10,没有你肯定就打不开,一般COM9以上的串口设备只能用"\\\\.\\COM10"不能写成COM10还要注意大小写,还有2000下最好用CreateFile打开,Open是16位windows操作系统上面的用法,2000/NT以上都建议用CreateFile