串口通信的能不能帮忙解决下~
根据教程应该是m_ctrlComm.GetPortOpen()
但成员列表中没有。只能用m_ctrlComm.get_PortOpen()
但成员列表中也没有
m_ctrlComm.SetPortOpen()或者m_ctrlComm.set_PortOpen(),是VS2010版本的原因吗?应该不是吧~……求助……

解决方案 »

  1.   

    串口控件在后续VC中弱化了,支持没以前多。
    可以通过API方式来操作串口,CreateFile
      

  2.   

    使用cserial串口操作类,封装的很好。
      

  3.   

    后来解决了。 if(m_mscomm.get_PortOpen())
    {
    m_mscomm.put_PortOpen(false);
    }
    m_mscomm.put_CommPort(2);     //设定串口COM
    if(!m_mscomm.get_PortOpen())
    {
    m_mscomm.put_PortOpen(true);//打开串口
    }
    m_mscomm.put_Settings("9600,n,8,1"); //设定波特率9600,无奇偶校验,8位数据位,1作为停止位
        m_mscomm.put_InputMode(1);    //设定数据接收模式,1为二进制,0为文本
        //m_mscomm.put_InBufferSize(1024);   //设置输入缓冲区大小为1024 byte
        //m_mscomm.put_OutBufferSize(1024);   //设置输出缓冲区大小为1024 byte
        m_mscomm.put_RThreshold(1);    //每接收到一个字符时,触发OnComm事件
        m_mscomm.put_SThreshold(0);    //每发送一个字符时,不触发OnComm事件
    m_mscomm.put_InputLen(0);     //设定当前接收区数据长度
    m_mscomm.get_Input();//先预读缓冲区以清除残留数据