13.9.2 串口的属性设置

2013-10-07 14:37:20 · 作者: · 浏览: 54

13.9.2  串口的属性设置

串口设置也是菜单栏及工具栏共有的功能,在串口菜单栏的第3项,工具栏的第1项。这两个地方的串口设置调用的是同一个函数OnComSet()。这个函数将串口当前的信息传递给串口设置对话框,并获取用户在串口设置对话框中设置的参数,实现如下:

  1. 01  void CComElvesDlg::OnComSet()   
  2. 02  {  
  3. 03      if(m_bAuto)                         //关闭自动发送功能  
  4. 04      {  
  5. 05          m_bAuto = false;  
  6. 06          KillTimer(1);  
  7. 07      }  
  8. 08      m_Port.ClosePort();                 //关闭串口  
  9. 09      UpdateData(true);                   //获取当前调试器窗体界面的信息  
  10. 10      CMyComSetDlg dlg;                   //串口设置对话框  
  11. 11      dlg.m_autoTime = m_uTime;           //当前自动发送的时间间隔  
  12. 12      dlg.m_bAuto = false ;               //当前自动发送的状态  
  13. 13      dlg.m_BRHex = m_bRHex;              //当前接收信息的显示格式  
  14. 14      dlg.m_BSHex = m_bSHex;              //当前发送数据的格式  
  15. 15      dlg.m_nBaud = m_nBaud;              //当前串口的波特率  
  16. 16      dlg.m_cParity = m_cParity;          //当前串口的校验方式  
  17. 17      dlg.m_nCom = m_nCom;                //当前的串口号  
  18. 18      dlg.m_nStopbits = m_nStopbits;      //当前的停止位  
  19. 19      dlg.m_nDatabits = m_nDatabits;      //当前的数据位  
  20. 20      if(dlg.DoModal() == IDOK)           //显示串口设置对话框  
  21. 21      {  
  22. 22          m_nCom = dlg.m_nCom;            //获取用户选择的串口号  
  23. 23          m_nBaud = dlg.m_nBaud;          //获取用户选择的波特率  
  24. 24          m_cParity = dlg.m_cParity;      //获取用户选择的校验方式  
  25. 25          m_nDatabits = dlg.m_nDatabits;  //获取用户选择的数据位  
  26. 26          m_nStopbits = dlg.m_nStopbits;  //获取用户选择的停止位  
  27. 27          m_uTime = dlg.m_autoTime;       //获取用户输入的自动发送时间间隔  
  28. 28          m_bAuto = dlg.m_bAuto;          //获取用户选择的自动发送状态  
  29. 29          m_bRHex = dlg.m_BRHex;          //获取用户选择的接收数据显示格式  
  30. 30          m_bSHex = dlg.m_BSHex;          //获取用户选择的数据发送格式  
  31. 31      }  
  32. 32      OpenPort();                         //用当前的参数打开用户选择的串口  
  33. 33      UpdateData(false);                  //根据用户选择的状态更新调试器界面  
  34. 34  }  

【代码解析】

第3~7行确定将关闭调试器的自动发送。第8行关闭串口,第9行获取调试器界面状态。第10行定义串口设置对话框。第11~20行将当前串口属性及调试器显示、发送的数据格式传递给串口设置对话框,以便在串口设置对话框中根据参考当前的串口状态设置串口。第20行显示串口设置对话框。第22~31行获取用户在串口设置对话框上选择及输入的数据,并将这些数据更新到调试器对话框中。第33行根据用户新输入的参数打开用户指定的串口。第34行将用户选择的显示、及发送的数据格式更新到调试器界面上。