⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d047.bmp.txt

📁 Visual C++通信编程实例
💻 TXT
字号:
volatile HANDLE m_hCom;
int m_nBaud;
int m_nDataBits;
int m_nParity;
CString m_strPort;
int m_nStopBits;
int m_nFlowCtrl;
BOOL m_bEcho;
BOOL m_bNewLine;
//串口句柄
//波特率
||售芷瞳
,/校验位
//串口号
||停止谴
//流控制选项
/是否在本地回显
,,是否自动换行
    上面有些变量是用volatile关键字声明的,这是为下面建立辅助线程准备的。当两个线
程都要用到某一个变量且该变量值会改变时,应该用volatile声明,该关键字的作用是防止
优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可
能一个使用内存中的变量,另一个使用寄存器中的变量,这会造成程序的错误执行。
    成员m_bConnected用来表明当前是否存在一个通信连接。m_hTermWnd用来保存视图
的窗口句柄。m_hPostMsgEvent事件对象用于WM__ COMMNOTIFY消息的允许和禁止。
m_pThread用来指向AfxBeginThread创建的CWinThread对象,以便对线程进行控利。
OVERLAPPED结构m_osRead和m_osWrite用于串口的重叠读/写,程序应该为它们的hEvent
成员创建事件句柄。
    然后,为3个菜单命令函数添加相应的代码:
,/串口连接
void CTermDoc::OnCommConnect0
{
  if( !OpenConnection0)
    AfxMessageBox(”无法建立串口连接”);
)
,/断开串口连接
void CTermDoc::OnCommDisconnect0
{
    CloseConnection();
}
void CTermDoc::OnCommSettings0
 {
        CSetupDlg dlg;
       CString str;
       dlg.m_bConnected = m_bConnected;
         dlg.m_strPort = m_strPort;
          str.Format("%d", m_nBaud);
        dlg.m_strBaud = str;
             str.Format(" % d", m_nDataBits);
       dlg.m_strDatabits = str;
47

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -