- 6
- 0
- 约1.81千字
- 约 6页
- 2017-08-11 发布于重庆
- 举报
VC6下用控件进行串口通信
VC6下用控件进行串口通信
建立一个基于对话框的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); // 指定串口号为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)); //发送数据TXData
接收串口数据:
首先要添加串口事件消息处理函数,双击控件,弹出添加成员函数对话框,我们用默认的函数名OnOnCommMscomm1,这里也可以更改函数名。
这个函数是用来处理串口消息事件的,如每当串口接收到数据(正如我们前面设置的RThreshold,每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件),就会产生一个串口接收数据缓冲区中有字符的消息事件,刚才添加的函数就会执行,我们在OnOnCommMscomm1函数加入相应的处理代码就能实现自已想要的功能了。在该函数中加入如下代码以接收数据:
// TODO: Add your control notification handler code here if (m_msCom.GetCommEvent() == 2) //事件值为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); cData[data_len] = 0; // cData就是指向接收到的字符串的指针 m_list.AddString(cData); //在listBox控件中显示接收到的数据 }
您可能关注的文档
最近下载
- 2025山东劳动职业技术学院单招《数学》通关题库含完整答案详解(夺冠系列).docx VIP
- 巴蜀中学2026届高三1月适应性月考卷(六)英语试卷(含答案解析).pdf
- 大数据技术及其在土木工程中的应用.doc VIP
- SI210 控制系统调试试运转.pdf VIP
- (第一届吉林大学天文知识竞赛预赛试题及答案.doc VIP
- 《大学物理简明教程》教学课件.pptx
- 2025年高考新高考全国Ⅰ卷英语试题(含听力音频、听力原文和答案).pdf VIP
- 2025年一级造价师《建设工程造价案例分析(交通运输)》考试真题(后附权威解析).pdf VIP
- 2025年山东劳动职业技术学院单招语文模拟试题(附答案解析) 完整版2025.pdf VIP
- 精品解析:重庆市南开中学校2024-2025学年九年级上学期期末考试数学试题(原卷版).docx VIP
原创力文档

文档评论(0)