VS2010之MFC串口通信的编写教程 下载本文

void C串口V2Dlg::OnBnClickedButtonOpen()//打开串口按钮程序 {

// TODO: 在此添加控件通知处理程序代码? CString str,str1,n; CWnd *h1;

h1=GetDlgItem(IDC_BUTTON_OPEN);

if(!m_mscom.get_PortOpen()) {

m_comb2.GetLBText(m_comb2.GetCurSel(),str1);//取得所选的字符串,并存放在str1里面 str1=str1+','+'n'+','+'8'+','+'1';

m_mscom.put_CommPort((m_comb1.GetCurSel()+1)); //选择串口 m_mscom.put_InputMode(1); m_mscom.put_Settings(str1); m_mscom.put_InputLen(1024); m_mscom.put_RThreshold(1); m_mscom.put_RTSEnable(1);

//打开串口

m_mscom.put_PortOpen(true); if(m_mscom.get_PortOpen()) {

str=_T(\关闭串口\); UpdateData(true);

//设置输入方式为二进制方式

//波特率为(波特率组á合框)无校验,8数据位,1个停止位 //设置当前接收区数据长度为1024 //缓冲区一个字符引发事件 //设置RT允许

//这句话很关键

//指向控件的caption

//定义字符串

GetDlgItemText(IDC_BUTTON_OPEN,str);

}

}

}

h1->SetWindowText(str);

//改变按钮名称为‘’关闭串口”

else { }

m_mscom.put_PortOpen(false); if(str!=_T(\打开串口)) { }

str=_T(\打开串口\); UpdateData(true); h1->SetWindowText(str);

//改变按钮名称为打开串口

void C串口V2Dlg::OnBnClickedButtonSend()//发送数据按钮程 { }

UpdateData(true);

//更新控件数据

m_mscom.put_Output(COleVariant(m_Editsend));//把发送编辑框的数据发送出去 // TODO: 在此添加控件通知处理程序代码?

void C串口V2Dlg::OnBnClickedButtonClean()//清除数据按钮程序 { }

m_EditReceive=_T(\); //给接收编辑框发送空格符 UpdateData(false);

//更新数据

// TODO: 在此添加控件通知处理程序代码

void C串口V2Dlg::OnBnClickedButtonClose()//退出按钮程序 { }

if(m_mscom.get_PortOpen())

m_mscom.put_PortOpen(false); CDialogEx::OnCancel();

// TODO: 在此添加控件通知处理程序代码