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

📄 d199.bmp.txt

📁 Visual C++通信编程工程实例精解(附盘)
💻 TXT
字号:
 if(m_hWnd
         PostMessage(m_hWnd,WM_YSCOMM_MESSAGE,WM_EV TXEMPTY,m_nPort);
          }
retum TRUE;
}
其中,dwEvtMask代表对应事件的编号。
14)析构函数。该函数用来停止串口,关闭串口事件句柄,具体代码如下:
    CYsComm:I~CYsComm0
    {
    StopComm();
    CloseHandle(m_overlappedRead.hEvent);
    CloseHandle(m_overlappedWrite.hEvent);
    CloseHandle(m_overlappedEvent.hEvent);
    CloseHandle(m_hS topWriteEvent);
    CloseHandle(m_hStopReadEvent);
    J
    CYsComm类的本质是提供一个方便的串口操作类,可以将该类运用到任何串口操作上。
读者在做实际应用时,要注意如下几点:
    1)先创建一个该类的对象后,然后利用SetComm()函数设置串口参数,就可以灵活运
用读串口、写串口、清除串口数据、读串口缓冲区数据等。
    2)读者要注意该类的成员变量的理解,m._ hFileHandle足打开串口的句柄,而另外两个
变量m_hStopReadEvent、m_hStopWriteEvent则是串口的最重要两个操作读、写的线程句柄。
    3)读者要重点注意WaitEvent()、DoStateEvent0的理解,前者是等待某个事件,而后者
对状态变化进行处理。
6.2.2 CYsATModem类
    本例是将其应用到与modem相关的操作上,关于直接与modem操作的任务都是由
CYsComm来完成的。读者在看CYsATModem类的时候,除了理解该类如何封装了modem
的at指令集外,还应理解CYsComm类是如何来操作串口的。下面详细讲述该类的创建过程。
    1)在ATModem.h中添加“#include”YsComm.h””,并定义一些宏,取代用到的AT指
令。具体代码如下:
#define CMD_ATE
#define CMD_ATE1
#define CMD_ATD
#define CMD_AT
#define CMD_ATA
#define CMD_ATHO
#define CMD_ATZO
#define CMD_ATSO
”御陋”    ,,关闭本地modem回显
”ATE1”  ,,打开地modem回显
”ATDT”//拨号
”AT“    /,初始化
”朋隗”  //回答Ring
”ATHO”  //挂断连接,进入命令状态
”ATZO”  ,,复位命令
”ATSO=O”,/手工应答
#define WM_CONNECTED   WM_USER+2000
199

⌨️ 快捷键说明

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