我在VC下,通过列出的当前计算机上的COM端口号,选择其中一个,点击一个按钮1,将此串口连接,可以读写数据。我想点击另一个按钮2关闭当前使用的串口,停止此串口的使用,可以再重新选择串口进行连接。
    请教大家一下,怎么关闭串口呢,使按钮2能实现操作?

解决方案 »

  1.   

    在使用SetPortOpen(FALSE);之前最好设置一下你如:
    try
    {
         m_Comm.SetCommPort(1);
         m_Comm.SetPortOpen(FALSE);
    }
    catch(...)
    {
      MessageBox("******");
    }
      

  2.   

       我是用API函数进行串口连接,没有控件,所以没有SetPortOpen函数呀.
      

  3.   

    你是用CreateFile打开的吧?
    那么直接CloseHandle就可以了。
      

  4.   

       就是用CreateFile打开的,奇怪我用CloseHandle后不管用.当我再重新用刚才的端口,端口已用.
      

  5.   

    吃饭了..要不你去下载一个" 软件名称:串口调试助手 SComAssistant V2.1" 是一个不错的串口调试助手
      

  6.   

    //声明类变量m_hComm
    //一个按钮响应函数中打开串口
    m_hComm = CreateFile(...); 
    //另一个按钮响应函数中关闭串口
    //可以先判断一下串口句柄
    if(m_hComm == INVALID_HANDLE_VALUE || m_hComm == NULL)
      return;
    if(!CloseHandle(m_hComm))
    {
      DWORD dwError = GetLastError();  //关闭不成功的原因
    }