我在用mscomm控件作串口通讯。在调试时经常出现串口已被打开。怎么才能关闭他呀。 if(!m_ctrlComm.GetPortOpen())
m_ctrlComm.SetPortOpen(TRUE);
         有时候会说:port already open()
         此时GetPortOpen()返回 false
怎么办呀。

解决方案 »

  1.   

    你这两句代码就是打开串口的代码啊要关闭它if(m_ctrlComm.GetPortOpen())
        m_ctrlComm.SetPortOpen(FALSE)
      

  2.   

    有个顺序: 
    //创建
    m_ctrlComm.Create(NULL,0,CRect(0,0,0,0),this,IDC_MSCOMM1);
    if(m_ctrlComm.GetPortOpen()) //如果串口是打开的,则行关闭串口
      m_MSComm.SetPortOpen(FALSE);//初始化
    ......
    ......//
    if(!m_ctrlComm.GetPortOpen())//如果串口没有打开则打开
      m_ctrlComm.SetPortOpen(TRUE);//打开串口