c++ PC通过串口发送Versions命令给处于FTM模式的手机,希望得到手机版本信息

c++window api 实现pc与处于FTM模式的手机串口通信,处于FTM模式的手机通过usb线连接 PC,这根usb线是5ping的线,连上手机自动进入FTM模式,当我们向串口中写入Versions字符串时,从串口读出的是Versions字符串,而不是我们希望得到的手机版本信息,后来发现向串口写什么,从串口读取的就是什么,

    OVERLAPPED m_osRead;
    memset(&m_osRead,0,sizeof(OVERLAPPED));
    m_osRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);

    COMSTAT ComStat;
    DWORD dwErrorFlags;

    char str[1024];
    memset(str,'\0',1024);

    DWORD dwBytesRead=1024;//弄竊计
    BOOL bReadStat;

    ClearCommError(hcom,&dwErrorFlags,&ComStat);

    dwBytesRead=min(dwBytesRead, (DWORD)ComStat.cbInQue);

    bReadStat=ReadFile(hcom,str,dwBytesRead,&dwBytesRead,&m_osRead);

    PostMessage((unsigned int)str,0,0);

    if(!bReadStat)
    {AfxMessageBox("tom test");
        if(GetLastError()==ERROR_IO_PENDING)    //GetLastError()函数返回ERROR_IO_PENDING,表明串口正在进行读操作
        {   
            WaitForSingleObject(m_osRead.hEvent,5000);
            //使用WaitForSingleObject函数等待,直到读操作完成或延时已达到2秒钟
            //当串口读操作进行完毕后,m_osRead的hEvent事件会变为有信号
        }
    }

    PurgeComm(hcom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR);
    AfxMessageBox(str);
    UpdateData(FALSE);

调试看看哪里出错了.....