设为首页 加入收藏

TOP

13.6.1 构造及析构函数的实现
2013-10-07 14:36:16 来源: 作者: 【 】 浏览:60
Tags:13.6.1 构造 函数 实现

13.6.1  构造及析构函数的实现

构造函数CMySerial()及析构函数CMySerial(),分别负责初始化变量及资源释放的工作,实现如下:

  1. 01  CMySerial::CMySerial()  
  2. 02  {  
  3. 03      m_hComm = NULL;                         //初始化串口句柄  
  4. 04      //初始化异步操作成员变量  
  5. 05      m_ov.Offset = 0;  
  6. 06      m_ov.OffsetHigh = 0;  
  7. 07      //创建异步操作的事件成员变量  
  8. 08      m_ov.hEvent = NULL;  
  9. 09      //初始化发送及关闭事件  
  10. 10      m_hWriteEvent = NULL;  
  11. 11      m_hShutdownEvent = NULL;  
  12. 12      //初始化发送变量  
  13. 13      m_szWriteBuffer = NULL;  
  14. 14      m_nWriteSize=1;  
  15. 15      m_bThreadAlive = FALSE;             //串口监控线程处于非激活状态  
  16. 16  }  
  17. 17  CMySerial::~CMySerial()  
  18. 18  {  
  19. 19      do  
  20. 20      {  
  21. 21          SetEvent(m_hShutdownEvent);     //关闭串口  
  22. 22      } while (m_bThreadAlive);  
  23. 23      if (m_hComm != NULL)                //如果上面没有关闭成功,则继续关闭  
  24. 24      {  
  25. 25          CloseHandle(m_hComm);  
  26. 26          m_hComm = NULL;  
  27. 27      }  
  28. 28      if(m_hShutdownEvent!=NULL)  
  29. 29          CloseHandle( m_hShutdownEvent); //关闭串口关闭事件句柄  
  30. 30      if(m_ov.hEvent!=NULL)  
  31. 31          CloseHandle( m_ov.hEvent );         //关闭串口异步操作事件句柄  
  32. 32      if(m_hWriteEvent!=NULL)  
  33. 33          CloseHandle( m_hWriteEvent );       //关闭写串口事件句柄  
  34. 34      TRACE("Thread ended\n");  
  35. 35      delete [] m_szWriteBuffer;              //释放发送缓冲区  
  36. 36  } 


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇13.4.1 串口简介 下一篇13.6.4 串口线程函数的实现

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: