RS232串口通信C++课程设计 下载本文

目 录

1引言 ............................................................................................................................................................. 1 1.1问题的提出 .......................................................................................................................................... 1 1.2国内外研究的现状............................................................................................................................... 1 1.5任务与分析 .......................................................................................................................................... 1 1.5.1主要任务 ........................................................................................................................................... 1 1.5.2分析 ................................................................................................................................................... 2 2程序的主要功能 ......................................................................................................................................... 2 2.1参数设置功能 ...................................................................................................................................... 2 2.2参数显示功能 ...................................................................................................................................... 2 2.3打开串口功能 ...................................................................................................................................... 2 2.4关闭串口功能 ...................................................................................................................................... 2 2.5接收数据功能 ...................................................................................................................................... 2 2.6发送数据功能 ...................................................................................................................................... 2 2.7清空数据接收区和数据发送区功能 ................................................................................................... 3 2.8数据、汉字或字符等显示功能 ......................................................................... 错误!未定义书签。 3程序运行平台 ............................................................................................................................................. 3 4总体设计 ..................................................................................................................................................... 5 5程序类的说明 ............................................................................................................................................. 6 6模块分析 ..................................................................................................................................................... 7 6.1系统初始化模块 .................................................................................................................................. 2 6.2参数设置和显示模块.......................................................................................................................... 7 6.3发送数据模块 ..................................................................................................................................... 8 6.4清空数据接收区和数据发送区模块 ................................................................. 错误!未定义书签。 6.5关闭主窗口模块 ............................................................................................... 错误!未定义书签。 7系统测试 ..................................................................................................................................................... 9 7.1测试 ...................................................................................................................................................... 9 7.2总结 .................................................................................................................................................... 14 8结论 ........................................................................................................................................................... 14 参考文献 ...................................................................................................................................................... 14

基于串口通信的高级语言控制程序的设计 摘 要

随着计算机的普及,计算机网络和多微机系统的广泛应用,尽管当今USB通信技术和以太网技术快速发展,然而串口通信技术始终以其连接简便,价格低廉,稳定可靠等优点,在计算机通信领域占有一席之地。MSCOmm控件是微软公司为了用户使用方便而提供的一种便捷的控制串口编程的解决方案,本文主要介绍了如何利用Microsoft Visual C++ 6.0 MSComm 控件的串口通信方法,对程序的类进行了说明,分析了本程序各个模块怎样实现起作用。此次设计以MFC 来设计界面编制程序,同时利用MSComm 控件通过串口发送和接收数据,实现了串口通信。该串口通信控制程序具有通信参数设置、通信参数显示、打开和关闭串口、接收数据、发送数据、清空发送区和接收区数据的功能。

关键词:串口通信

Microsoft Visual C++ 6.0

MFC MSComm控件

1引言

1.1问题的提出

串行通信(Serial Communication )在现代工业控制系统中一直有着及其重要的地位,作为一种基本而又灵活方便的通信方式,它被广泛应用于PC与PC或者PC与PLC之间的数据交换以及其他工业控制与自动控制中,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。VC++是新一代面向对象的可视化开发工具,提供了良好的界面设计能力,在PC机的串口通信方面有很强的功能。对于从事机械行业的人来说,熟悉基于RS232串口通信的高级语言编程方法显得十分重要。

1.2国内外研究的现状

目前,计算机的串行通信应用十分广泛,串行接口已成为计算机的必需部件和接口之一。由于其具有连接简单、使用灵活方便、数据传递可靠等优点,在工业监控、数据采集和实时控制系统中得到了广泛应用。当今,实现串口通信的方法以及第三方控件有很多,例如PComm控件,Windows API函数等等。但是这几种方法都过于复杂,对程序员要求较高,而且可靠性并不是很好。利用Microsoft推出的MSComm控件,使得串口通信的实现更为简单、可靠。

随着当今信息技术的快速发展,通信已成为信息技术中的关键问题。尤其在控制领域,以何种方式实现计算机与外围设备间既简单又可靠的通信,就显得特别重要。由于串行通信具有实现简单、使用灵活方便、数据传输可靠等优点,因而广泛应用于工业控制系统中,是计算机与外部设备进行数据通信时经常使用的方式之一。VC++是新一代面向对象的可视化开发工具,提供了良好的界面设计能力,在PC机的串口通信方面有很强的功能。它具有功能强大、简便易用和代码执行速度快等特点,在通信软件的开发中成为越来越多开发人员的首选工具。无论在工业控制中PC机和单片机之间的通信,还是在2台Pc机之间的串口通信,都具有相同的原理。只要掌握其中的通信本质,就能灵活地实现串口通信,串口控制。

1.5任务与分析 1.5.1主要任务

★制定串口通信控制程序的总体构架; ★熟悉VC平台下的高级语言编程方法;

-1-

★熟悉基于RS232串口通信的高级语言编程方法; ★在同一台PC机上调试通过所编写的程序; ★编写设计说明书1份。

1.5.2分析

目前Win32 中基于VC + + 6. 0 的常用串口通信程序一般可以用两种方法实现: ①利用MSComm ActiveX 串行通信控件; ②使用Win2dows API 通信函数。虽然在Windows下Win32API提供了使用文件操作方式的函数进行串口操作的方法,但是在编程实现上还是比较复杂。Windows平台先进的ActiveX技术使得对串口编程不再需要处理烦琐的细节。利用已有的AxtiveX控件,只需要编写少量的代码,就可以轻松高效地完成任务。因此程序员不需要花时间去了解复杂的API函数,只需要利用MSComm控件就可实现串口编程。

2程序的主要功能

2.1参数设置功能

设置和修改串口通信参数,包括端口,时间,波特率,奇偶校验位,数据位,停止位。

2.2参数显示功能

显示当前串口通信参数,包括端口号,波特率,时间,奇偶校验位,数据位,停止位,点击参数设置按钮,弹出参数设置窗口,当完成设置后点击确定,子窗口隐藏,显示界面是数据发送和接收界面。

2.3打开串口功能

参数设置后,打开串口,在程序中设置了一个默认的COM4但是在参数设置窗口可以设置串口,实现通信。

2.4关闭串口功能

关闭串口,停止通信。

2.5接收数据功能

能够进行单个或多个数据的接收和显示。

2.6发送数据功能

能够进行单个或多个数据的发送。

-2-