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

📄 d035.bmp.txt

📁 Visual C++通信编程实例
💻 TXT
字号:
(续)
┏━━━━━━━━┳━━━━━┳━━━━━━━┓
┃    ControlIDs  ┃    Type  ┃    Member    ┃
┣━━━━━━━━╋━━━━━╋━━━━━━━┫
┃IDC_SEND_COUNT  ┃ mt       ┃m_nSendCount  ┃
┣━━━━━━━━╋━━━━━╋━━━━━━━┫
┃IDC_RECV_COUNT  ┃ int      ┃ m_nRecvCount ┃
┣━━━━━━━━╋━━━━━╋━━━━━━━┫
┃IDC_MSCOMM      ┃ CMSComm  ┃ m_COM        ┃
┗━━━━━━━━┻━━━━━┻━━━━━━━┛
(2)初始化串口
按照图2-5所示,往工程中添加MSComm控件后,打开“MFC ClassWizard”一“Member
Variables”页,如图2-6所示,为控件IDC_MSCOMM添
加控制变量m_COM,通过上述操作,ClassWizard自动
在SerialCommDlg.h中加入了#include”mscomm.h”语句。
同时工程中增加了CMSComm类,如图2-7。
    下面在CSerialCommDlg::OnhutDialog0函数中写入
对串口的初始化语句,并对其进行设置。核心代码如下,
无关代码将被“……”省略:
事件
BOOL CSerialCommDlg::OnInitDialog0
{
if(m_COM.GetPortOpen0)
m_COM.SetPortOpen(FALSE);
募蓬固SeriaIComm classes
  疆●肖CAboutOlg
  蕊唧曩程囊飘■■
  童-瑶CSeriaICommApp
  霉—唣CSeriaICommDlg
  疆豳Globals
图2-7工程的类
    m_COM.SetCommPon(l);,/i走择coml
    if(!m_COM.GetPortOpen(》
    {
    m_COM.SetPortOpen(TRUE);//打开串口
    m_szStatus=”打开”:
    }
    else
    {
    AfxMessageBox("cannot open serial port");
    )
    m_COM.SetSettings( "9600,n,8,1");胸支特率为9600bit/s,无校验,8个数据位,1个停止位
    m_COM.SetlnputMode(l); //1:表示以二进制方式检取数据
    m_COM.SetRThreshold(l);
,/参数1表示每当串口接收缓冲区中有多于或等于1个字符时,将引发一个接收数据的OnComm
m_COM.SetInputLen(0);  //设置当前接收区数据长度为0
m_COM.Getlnput();    ,/先预读缓冲区,以清除残留数据
if(m_COM.GetPortOpen(》
{
    GetDlgltem(IDC_OPEN_CLOSE)->S etWindowText(”关闭串口”);
l
retum TRUE;   //retum TRUE   unless you set the focus to a control
35

⌨️ 快捷键说明

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