- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 引 言
1.1 问题的提出
在Windows环境下,串口是系统资源的一部分。应用程序要使用串口进行通信,必须在使用前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。在Windows的系统函数中,均包含了支持通信中断的功能。对串口通信而言,Windows为相应的串口设备开放了用户定义的输出缓冲区和输入缓冲区,应用程序只能对输入/输出缓冲区进行操作,数据进出歘口的操作均由系统后台完成。以接收受为例,系统每接收到的字符送入输入缓冲区,此时应用程序就可以通过访问输入缓冲区得到接收到的字符信息。
Windows为用户提供了两种方式实现串口通信:
使用串口通信控件
使用Windows的API应用程序接口
使用串口通信控件进行串口程序开发极为方便,如果不需要对串口进行高级控制一般多选择使用MSComm控件进行开发。
针对串口通信,微软公司专门提供了MSComm控件,使用该控件进行串口通信设计是十分方便的,程序员不必花时间去了解较为复杂的API函数。通过简单修改控件的属性和使用控件提供的方法,就可以实现对串口的配置、完成串口接收和发送数据。
Micronsoft Communications Control(MSComm)是Micronsoft公司提供的简化Windows下串口通信编程的ActiveX控件,它为应用程序提供了通过串口收发数据的简便方法。在串口编程中,使用MSComm控件非常方便,仅需通过简单修改控件属性和使用控件提供的方法,就可以实现对串口的配置,完成串口接收和发送数据等任务。
在mfc中进行串口通讯最简单的方法莫过于在对话框中使用MSCOMM控件了,MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem).还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工 、事件驱动的、高效实用的通信程序。
1.2国内外研究的现状
串行通信在通讯领域被广泛应用,标准的 RS232 接口已成为计算机、外设、交换机和许多通讯设备的标准接口.虽然近年来随着 USB 口的日趋流行,RS232 接口串口
1.3任务与分析
任务:设计一个串口通讯程序,实现对数据的发送和接受。
要求: (1)、、
(3)、
(4)、???
个单选框对应六个串口。
2 程序的主要功能
2.1串口选择、打开、关闭功能
通过单选框实现选择通信串口(COM1/COM2/COM3……),其他串口设置默认设置为:波特
2.2发送数据功能
通过【发送】按钮对应函数OnButtonManualsend()来实现。发送数据时,程序仅需要读出发送编辑框的内容,将其转化为发送程序需要的数据格式后,再使用C语言中的强制类型转换功能,将其转换为ColeVariant数据类型,由MSComm类的SetOutput()函数送入发送缓冲区即可。
2.3 接收功能
当MSComm的接收缓冲区有字符时,程序会发送事件消息,OnOnCommMscomm1()函数响应该消息并进行处理,由于MSComm类GetInput()函数返回的数据变量类型为Variant型,而编辑框对应的显示字符串是Cstring型,因此接收数据时,需要先进行类型转换。在VC中,转换过程如下:
将Variant类型转换为ColeSafeArray类型;
将ColeSafeArray类型转换为BYTE类型数组;
将BYTE类型数组转换为Cstring变量。
2.4发送、接收计数并显示功能
通过【发送:】【接收:】按钮(属性中样式选为:浮动)实现显示发送接收计数显示。
2.5清除显示功能
分别通过【清空显示】【清空显示】【清空计数】按钮将发送区、接收区、计数显示清空。
2.6退出程序功能
通过【退出】按钮实现退出程序的功能。
3 程序运行平台
VC++6.0、串口调试助手V2.1、VSPM虚拟串口
具体操作如下:
3.1创建基于对话框的MFC应用程序myDlg---完成---确定。
3.2在当前的Workspace中插入MSComm控件在设置项目选项时必须选上ActiveX Controls,其他的按照缺省设置。然后进行
3.4程序编辑
根据设计要求内容编辑程序,并通过反复的调试、编译、连接、执行,完成设计要求,并运行成功,能够实现各个功能要求。
4 总体设计
图4.1 系统总体框架图
5 程序类的说明
CMSCommDlg 类的声明
voclass CMSommDlg : public CDialog
{
// Construction
public:
CMSCommDlg(CWnd
您可能关注的文档
- 第十章 大学生心理健康教育主题班会.doc
- 第十三章 东华《操作系统》16春平时作业2.doc
- Windows C 程序设计入门及提高.doc
- 1.画线准确性.doc
- 论网络时代的主要特征及高校思想政治工作的创新.doc
- 系统分析师考试历年真题二(上午试题)的知识.docx
- 令狐冲人物分析指南.doc
- 话务员理论知识试卷A教案.doc
- 淮阴卫生高等职业技术学校新校区实训楼①工程教案.doc
- 浅谈现代教育技术试卷.doc
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)