版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、打开VC6.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怎么办?如果没有,说明这个控件还没有注册。那么需要先注册此控
2、件,方法如下:开始 - 运行 中输入 regsvr32 mscomm32.ocx点击确定注册添加控件后会弹出一个确认框点击“确定”再点击OK,控件就添加成功了把此控件拖入界面中,利用MFC ClassWizard添加成员变量(我在这里用的变量名是m_msCom,可变),如图然后在控件的属性里进行一些必要的配置:CommPort设置串口号InputMode设置为1-Binary,表示以二进制方式检取数据RThreshold设置为1,表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件其它的用默认值。也可以在OnInitDialog()函数中用代码设置,如下:m_ms
3、Com.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()
4、;/先预读缓冲区以清除残留数据OK,在你需要的地方可以随时发送串口数据了,很简单:m_msCom.SetOutput(COleVariant(TXData); /发送数据TXData接收串口数据:首先要添加串口事件消息处理函数,双击控件,弹出添加成员函数对话框,我们用默认的函数名OnOnCommMscomm1,这里也可以更改函数名。这个函数是用来处理串口消息事件的,如每当串口接收到数据(正如我们前面设置的RThreshold,每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件),就会产生一个串口接收数据缓冲区中有字符的消息事件,刚才添加的函数就会执行,我们在OnOn
5、CommMscomm1函数加入相应的处理代码就能实现自已想要的功能了。在该函数中加入如下代码以接收数据:/ TODO: Add your control notification handler code hereif (m_msCom.GetCommEvent() = 2) /事件值为2表示接收缓冲区内有字符 Sleep(100); VARIANT rec_data; int data_len; char cData1024; rec_data = m_msCom.GetInput(); / 读取缓冲区 data_len = rec_data.parray-rgsabound-cElements; memcpy(cData,(char *)rec_data.parray-pvData,data_len); cDat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 48246-2026飞机静止变流器
- T/ZSA 159-2023卫星遥感监测规范 城市管理事件线索
- T/JSJTQX 71-2025毫米级域激光法沥青路面摊铺施工技术规程
- T/CNSC 001-2024荒漠地区(沙漠、沙地和戈壁)光伏工程生态影响监测与评价
- T/CCASC 0055-2025工业氯化石蜡
- T/CSEA 45-2025热浸镀锌钢板无铬钝化剂
- GB/T 34255-2026聚丁二酸-己二酸丁二酯(PBSA)树脂
- AI在口腔护理行业的智能刷牙指导
- 2026年《护理文书书写规范》培训考试题及答案
- PG岗位新人面试题及详细参考答案(零基础适配版)
- 音乐传播媒介变革-洞察及研究
- 不锈钢波纹管培训课件
- 压力容器制造质量保证手册+程序文件+表格-符合TSG 07-2019特种设备质量保证管理体系
- 大学四史考试题型及答案
- 《药物研发》课件
- 贵州中烟工业公司笔试试题2024
- 林木砍伐施工方案
- 丙烷购销合同模板
- 婚内忠诚承诺样本
- 多水源联合调度技术
- 慢性肾功能衰竭Chronic Renal Failure-尿毒症-慢性肾炎-病例分析
评论
0/150
提交评论