设为首页 加入收藏

TOP

13.8.2 设置串口控制部分的组合框(2)
2013-10-07 14:37:47 来源: 作者: 【 】 浏览:57
Tags:13.8.2 设置 串口 控制 部分 组合

13.8.2  设置串口控制部分的组合框(2)

【代码解析】

第3~17行插入波特率,第18~34行将当前调试使用的波特率显示到组合框中。

(3)InitCombData()函数用于初始化数据位组合框,常用的数据位有3种可能,即6、7、8。根据当前调试器使用的数据位长度,将相应的数据显示到数据位组合框中。实现如下:

  1. 01  void CMyComSetDlg::InitCombData()  
  2. 02  {  
  3. 03      m_combData.InsertString(0,"8");             //插入数据位长度数据  
  4. 04      m_combData.InsertString(1,"7");  
  5. 05      m_combData.InsertString(2,"6");  
  6. 06      m_combData.SetCurSel((m_nDatabits * -1) + 8);   //设置显示项  
  7. 07  }  

m_nDatabits用于记录当前调试器使用的数据位长度。

(4)InitCombStop()函数设置停止位组合框中显示的数据,并将调试器当前使用的停止位显示到组合框中,实现如下:

  1. 01  void CMyComSetDlg::InitCombStop()  
  2. 02  {  
  3. 03      m_combStop.InsertString(0,"1");         //组合框添加一个项目  
  4. 04      m_combStop.InsertString(1,"2");  
  5. 05      m_combStop.SetCurSel(m_nStopbits - 1);      //默认显示项目设置  
  6. 06  }  

m_combStop是配置窗体的成员变量,用于记录当前调试器使用的停止位数据。

(5)最后一个是InitCombCheck()函数,用于初始化校验位的组合框,并将调试器使用的校验位显示到组合框中,实现如下:

  1. 01  void CMyComSetDlg::InitCombCheck()  
  2. 02  {  
  3. 03      m_combCheck.InsertString(0,"NONE");     //无校验模式  
  4. 04      m_combCheck.InsertString(1,"ODD");          //偶校验模式  
  5. 05      m_combCheck.InsertString(2,"EVEN");     //奇校验模式  
  6. 06      switch(m_cParity)  
  7. 07      {  
  8. 08      case 'N':  
  9. 09          m_combCheck.SetCurSel(0);  
  10. 10          break;  
  11. 11      case 'O':  
  12. 12          m_combCheck.SetCurSel(1);  
  13. 13          break;  
  14. 14      case 'E':  
  15. 15          m_combCheck.SetCurSel(2);  
  16. 16          break;  
  17. 17      }  
  18. 18  }  

校验位有3个值,即0、1及2。m_combCheck是配置窗体的成员变量,记录当前调试器使用的停止位数据。

为各个组合框添加项目切换的处理函数,每当用户对当前组合框中的项目进行了重新选择后,就需要更新当前调试串口的参数,各个组合框项目切换函数的实现如下:

  1. 01  void CMyComSetDlg::OnSelchangeCbud()        //波特率组合框项目切换处理函数  
  2. 02  {  
  3. 03      int n = m_combBaud.GetCurSel();     //获取用户选择项目的序号  
  4. 04      switch(n)                               //根据序号确定用户输入的波特率  
  5. 05      {  
  6. 06      case 0:  
  7. 07          m_nBaud = 110;  
  8. 08          break;  
  9. 09      case 1:  
  10. 10          m_nBaud = 300;  
  11. 11          break;  
  12. 12      …  
  13. 13          m_nBaud = 128000;  
  14. 14          break;  
  15. 15      case 14:  
  16. 16          m_nBaud = 256000;  
  17. 17          break;  
  18. 18      }  
  19. 19  }  
  20. 20  void CMyComSetDlg::OnSelchangeCcom()        //串口组合框项目切换处理函数  
  21. 21  {  
  22. 22      m_nCom = m_combCom.GetCurSel() + 1; //根据用户选择的项目号确定串口号  
  23. 23  }  
  24. 24  void CMyComSetDlg::OnSelchangeCcheck()  //校验位组合框项目切换处理函数  
  25. 25  {  
  26. 26      int n = m_combCheck.GetCurSel();        //获取用户选择项目的序号  
  27. 27      switch( n )                             //判断用户选择的校验类型  
  28. 28      {  
  29. 29      case 0:  
  30. 30          m_cParity = 'N';  
  31. 31          break;  
  32. 32      case 1:  
  33. 33          m_cParity = 'O';  
  34. 34          break;  
  35. 35      case 2:  
  36. 36          m_cParity = 'E';  
  37. 37          break;  
  38. 38      }  
  39. 39  }  
  40. 40  void CMyComSetDlg::OnSelchangeCdata()       //数据位组合框项目切换处理函数  
  41. 41  {  
  42. 42      //根据用户选择的项目序号确定用户选择的数据位长度  
  43. 43      m_nDatabits =( m_combData.GetCurSel() * (-1) ) + 8;  
  44. 44  }  
  45. 45  void CMyComSetDlg::OnSelchangeCstop()       //停止位组合框项目切换处理函数  
  46. 46  {  
  47. 47      //根据用户选择的项目判断用户选择的停止位长度  
  48. 48      m_nStopbits = m_combStop.GetCurSel() + 1;  
  49. 49  }  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇13.7.3 组合框显示控制及初始化 下一篇13.8.2 设置串口控制部分的组合框..

评论

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