当前位置:首页 >> 计算机软件及应用 >>

VC上位机MFC利用串口控件发送接收数据程序代码


打开 VC++6.0,建立一个基于对话框的 MFC 应用程序。 菜单中依次选择 Project -> Add To Project -> Components and Controls

在弹出的 Components and Controls Gallery 窗口中双击 Registered Activex Controls 文件夹

选中 Microsoft Communications Control,version 6.0,点击 Insert 添加 控件,如下图

在这里如果没有找到 Microsoft Communications Control,version 6.0怎 么办? 如果没有,说明这个控件还没有注册。那么需要先注册此控件,方法如下: 开始 -> 运行 中输入 regsvr32 mscomm32.ocx 点击确定注册

添加控件后会弹出一个确认框

点击“确定”

再点击"OK",控件就添加成功了

把此控件拖入界面中,利用 MFC ClassWizard 添加成员变量(我在这里用的 变量名是 m_msCom,可变),如图

然后在控件的属性里进行一些必要的配置:

CommPort 设置串口号 InputMode 设置为1-Binary,表示以二进制方式检取数据 RThreshold 设置为1,表示每当串口接收缓冲区中有多于或等于1个字符时 将引发一个接收数据的 OnComm 事件

其它的用默认值。 也可以在 OnInitDialog()函数中用代码设置,如下: m_msCom.SetCommPort(1); if (m_msCom.GetPortOpen()) { m_msCom.SetPortOpen(FALSE); } m_msCom.SetInputMode(1); //1:表示以二进制方式检取数据 m_msCom.SetRThreshold(1); //参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接 收数据的 OnComm 事件 设置好以后,要在程序的开始打开串口,不然是没发使用的。在 OnInitDialog 中加入以下代码: m_msCom.SetPortOpen(TRUE); // 打开串口 m_msCom.GetInput();//先预读缓冲区以清除残留数据 OK,在你需要的地方可以随时发送串口数据了,很简单: m_msCom.SetOutput(COleVariant(TXData)); 接收串口数据: 首先要添加串口事件消息处理函数,双击控件,弹出添加成员函数对话框, 我们用默认的函数名 OnOnCommMscomm1,这里也可以更改函数名。 这个函数是用来处理串口消息事件的,如每当串口接收到数据(正如我们前 面设置的 RThreshold,每当串口接收缓冲区中有多于或等于1个字符时将引发一 个接收数据的 OnComm 事件), 就会产生一个串口接收数据缓冲区中有字符的消息 事件,刚才添加的函数就会执行,我们在 OnOnCommMscomm1函数加入相应的处理 代码就能实现自已想要的功能了。在该函数中加入如下代码以接收数据: // TODO: Add your control notification handler code here if (m_msCom.GetCommEvent() == 2) 符 { Sleep(100); VARIANT rec_data; int data_len; char cData[1024]; rec_data = m_msCom.GetInput(); // 读取缓冲区 data_len = rec_data.parray->rgsabound->cElements; memcpy(cData,(char *)rec_data.parray->pvData,data_len); //事件值为2表示接收缓冲区内有字 //发送数据 TXData // 指定串口号为1(视实际情况而定)

cData[data_len] = 0; // cData 就是指向接收到的字符串的指针 m_list.AddString(cData); //在 listBox 控件中显示接收到的数据 }


赞助商链接
相关文章:
...串口通讯控件,数据转换处理程序源代码参考
VC++中,采用 Mscomm 串口通讯控件,数据转换处理程序源代码参考 void CDpjDlg::OnOnCommMscomm() //基于 PC 上位机数据收发事件函数 { // TODO: Add your ...
VS2010之MFC串口通信的编写教程_图文
VS2010之MFC串口通信的编写教程_计算机软件及应用_IT/计算机_专业资料。VS2010 ...()//发送数据按钮程 { // TODO: 在此添加控件通知处理程序代码? UpdateData...
基于vs2010-mfc简易串口数据波形显示软件(入门篇)
添加控件通知处理程序代码 m_EditReceive.Empty();//清除接收对话框中的数据 ...VC上位机MFC利用串口控件... 6页 1下载券 Quartus_II的FPGA设计手... 50...
VC(MFC)编写串口调试助手
VC(MFC)编写串口调试助手_电子/电路_工程科技_专业...发送、清除按钮; 5.接收是自动实现的; 6.有定时...因为串口通信部分代码我可能在以后的单片机上位机上...
VC6.0MFC串口通信编写全过程
vc串口通信编写过程,上位机,界面编写。其于MFC 的...发送框可以不垂直多行显示;再为按钮控件添加 ID ...看到数据, 因为我们还没有打开串口, 但运行程序不 ...
最详细的VC++串口上位机编程
串口通信上位机程序的资料, 在图书管理找到了 VC...打开 VC++6.0建立基于对话框的 MFC 应用程序 Test...用于记录接收数据的个数 CProgressCtrl * pbar; //...
VC++控制计算机串口收发程序源代码
VC++控制计算机串口收发程序源代码.//~~~上位机 C++控制计算机串口源程序~~~...//更新文本控件的显示 } void CTEST_9Dlg::OnButton1() //发送数据 { //...
VC++编写简单串口上位机程序
串口通信上位机程序的资料,在图书管理找到了 VC+...MFC 应用程序 Test, 2、 在项目中插入 MSComm ...添加如下代码,进行数据处 理,窗口更新等操作: ...
VC++_串口上位机编程实例
代码,然 后保存: int gllen;//定义整型标量 gllen,用于记录接收数据的个...46页 1下载券 VC上位机MFC利用串口控件... 6页 免费喜欢此文档的还喜欢 ...
VS2010之MFC串口通信的编写教程
VS2010之MFC串口通信的编写教程_计算机软件及应用_IT/计算机_专业资料。VS2010 ...()//发送数据按钮程 { // TODO: 在此添加控件通知处理程序代码? UpdateData...
更多相关标签: