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

📄 d189.bmp.txt

📁 Visual C++通信编程工程实例精解(附盘)
💻 TXT
字号:
时,Modem就处于联机模式,此时由计算机传送到Modem的信息都会通过电话线传递到另
一台计算机上。
    CYsATModem类封装了主要的Modem的AT命令操作,其他类只需简单的调用
CYsATModem提供的接口就能实现Modem的AT命令操作。CYsATModem类涉及到串口操
作,为使读者更加清晰地了解串口操作的细节,我们没有使用MSComm控件,而是自己编
写了一个串口操作的类CYsComm。CYsATModem正是从CYsComm派生出来的。
6.2.1 CYsComm类
    首先由ClassWizard生成一个通用类,即“Generic Class”。下面挑选一些难点程序,讲
解该类的关键开发过程。
    1)在CYsComm.h头文件中添加宏定义。
#define TYPE_READ         1
#define TYPE_WRITE       0
/,定义串口事件
#define WM_YSCOMM_MESSAGE WM_USER+2998
//在输入中发现了一个中断
#define WM_EV__ BREAK WM_USER+2999
,,CTS (clear-to-send)信号发生状态改变
#defineWM_EV_CTS WM_EV BREAK+1
,/DSR(data-set-ready)信号发生状态改变
#define WM_EV_DSR WM_EV_B REAK+2
,,一个line-status错误发生,包括CE_FRAME, CE_OVERRUN, and CE  RXPARITY
#define WM_EV_ERRWM_EV_BREAK+3
//拨号被侦测到
#defineWM_EV_RINGWM_EV_BREAK+4
//RLSD (receive-line-signal-detect)信号发生状态改变
#define WM_EV_RLSDWM_EV_B REAK+5
,/一个字符接收到并放入接收缓冲区
#define WM_EV_RXCHAR WM_EV_BREAK+6
//一个事件字符接收到并放入接收缓冲区
#define WM_EV- RXFLAGWM- EV .BREAK+7
,/发送缓冲区最后一个字符已发送
#defineWM_EV_TXEMPTY WM_EV__- BREAK+8
2)定义成员变量。
    BOOL m _bSemiduplex;    //半双工或全双工方式
    HWND In_-hWnd;彬丑来接收消息的窗口
    HANDLE m_hFileHandle;    //存在comm句柄
    HANDLEm_hStopReadEvent;    //停止读线程函数句柄
    HANDLE m_hStopWriteEvent;    //停止写线程函数句柄
    UINT    m_nPort;,,端口号
3)构造函数CYsComm()。在其中添加初始化内容,主要是定义与串口相关的一些事件,
    189

⌨️ 快捷键说明

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