Visual C++串口通信技术详解(第2版)
上QQ阅读APP看书,第一时间看更新

前言

串口通信作为基础而灵活的一种通信方式,被广泛应用于计算机系统、自动化控制系统的数据通信。早期的串口通信程序多使用能够较好支持操作系统底层硬件操作的C、汇编等语言编程实现,开发难度大,代码烦琐,学习提高困难。微软公司开发的Visual C++集成开发环境为程序员提供了一种宽松式、集成化的开发工具,在Visual C++环境中,程序员可以利用C++语言方便地实现具有代码短、运行快、可移植等特点的串口通信程序。但是,Visual C++功能复杂,编程方式多样,导致初学者往往对其产生畏难情绪。

为此,本书作者依据多年项目研发积累的实践经验,从串口通信理论和应用实践的角度,系统讲解了在Visual C++中开发串口通信程序的理论基础和方法技巧,特别注重理论和实践相结合,既具有面向基础理论学习,又具有面向实际项目开发的特点。

本书所有实例代码均由作者在Windows XP+SP2操作系统下,在Visual C++ 6.0集成开发环境中调试通过。读者只要掌握本书给出的编程思路,按照编程步骤进行操作,将顺利完成相关程序的编制与调试,从而掌握利用Visual C++环境开发串口通信程序的核心技术。

本书特点

本书主要特点如下:

1. 循序渐进,由浅入深

本书编写遵循“先基础、后技巧”的学习规律,在详细讲解串口通信相关理论、Visual C++使用方法、MSComm控件串口编程、Windows API串口编程以及TAPI 2.x串口编程等重要基础知识之后,在后续章节中结合具体项目,详细给出了在Visual C++中利用MSComm控件串口编程、Windows API串口编程以及TAPI 2.x串口编程实现串口通信功能的程序框架、实现流程以及特殊技巧。

2. 技术全面,内容充实

本书在确保实用的前提下,详细讲解了在Windows环境下开发串口通信程序的多方面知识。无论是希望通过串口通信实现单机串口调试、双机互连、Modem设备控制、单片机控制、PLC控制、射频卡控制、GPS模块控制、云台摄像头控制,还是想在智能报警系统或者语音自动应答系统中采用串口通信方式的读者,都可从书中找到相关的实用知识。

3. 分析原理,步骤清晰

考虑到大部分希望从事串口通信项目研发的高校师生、企业人员都具备了一定的Visual C++使用经验和C++编程能力,本书在讲解具体项目开发实例时,注意重点把握各知识点的原理,归纳实现思路与实现步骤。读者可根据书中实例给出的具体步骤,结合随书光盘给出的源代码,自行编写实现实例功能,以提高理解深度和学习效果。

4. 代码完整,讲解详尽

除个别章节外,本书每个知识点都给出了较为完整的项目实例,同时详细注释了关键代码段。为方便学习,在给出代码段之前,基本上都给出了代码段的实现功能分析和流程图。读者可以参照运行结果阅读书中或者随书光盘给出的源程序,加深对项目实例的理解。

主要内容

本书分为三篇共16章。各章的主要内容如下。

第一篇 基础理论和基本方法

第1章:介绍了计算机接口技术的基本内容。在此基础上,详细说明了RS-232C、RS-422、RS-485等串口通信标准,以及SPI、I2C、USB等串行通信总线技术。最后,简要描述了应用串行通信方式工作的常见计算机外围设备。了解和掌握上述内容可以为读者进行串行接口编程工作打下坚实的理论基础。

第2章:介绍了面向对象的基本概念,然后对C++语言的基础及要点作简单介绍,最后介绍了微软公司出品的支持C++语言的Visual C++ 6.0集成开发环境。

第3章:介绍了MSComm控件基础知识,详细描述了MSComm控件属性以及OnComm事件,给出了在Visual C++ 6.0集成开发环境中利用MSComm控件开发串口通信程序的具体步骤,并给出了Windows操作系统下基于MSComm控件实现虚拟终端接收程序的详细过程。

第4章:介绍了Win32 API函数串口通信的基本概念,对串行通信编程使用的特殊数据结构和主要API函数进行了详细说明,在此基础上,给出了利用Windows API函数实现串口通信功能的具体流程。

第5章:介绍了Windows TAPI的含义和体系框架,详细说明了Windows操作系统中常用的TAPI 2.x函数,给出了采用Windows TAPI的编程方法,阐述了在Windows操作系统下基于CTAPILine类实现电话拨号程序的详细过程。

第二篇 串口编程基础应用

第6章:介绍了利用串口实现双机互连的基本方法,给出其通信协议即实现方案,并具体分析了一个简单的双机互连例程。

第7章:以串口调试精灵为例,详细说明了Windows操作系统下串口通信程序的研发过程,分析了该软件的主要设计思想,给出了该软件的详细实现代码,使读者初步了解从需求分析、设计实现到最终程序发布的项目开发流程。

第8章:介绍了Modem的基础知识和用于控制调制解调器的AT指令集,分别从单片机和通用PC两个方面介绍了使用Modem实现远程通信的方法步骤,并以实例详细讲述了串口控制Modem的简单实现方法。

第9章:介绍了单片机串口结构、工作原理和目前常用接口芯片,详细给出了计算机通过串口控制单片机的硬件电路设计和通信协议设计,并且分别分析了计算机和单片机串行通信时两端的关键实现代码。

第10章:介绍了PLC的基本概念和PLC串口通信流程相关知识,在此基础上,详细介绍了计算机通过串口控制PLC的程序设计方法,给出并详细分析了关键代码。

第11章:介绍了射频卡的工作原理、分类方法及应用等概念,在此基础上,详细介绍了利用串口控制射频卡模块的通信程序设计方法,给出并详细分析了关键代码。

第12章:介绍了GPS的相关知识,展示了通过使用MSComm控件接收GPS报文的具体过程,主要包括报文解码以及GPS模块定位信息提取等步骤,给出并详细分析了关键代码。

第三篇 串口编程高级应用

第13章:介绍了通过串口控制云台摄像头的方法。在介绍云台控制协议的基础上,针对串口控制云台摄像头程序,分别对添加控件、设计界面、初始化、配置按钮代码等进行了详细分析。

第14章:介绍了一个典型智能安防系统的设计过程,重点分析了该系统采用的串行通信关键技术和具体实现代码。

第15章:介绍了一种利用TAPI 3.0函数库实现语音自动应答的方法,通过界面说明及按钮功能实现过程,详细描述了语音自动应答系统的程序设计流程。

第16章:介绍了USB总线技术和USB总线转换芯片CH341基本工作原理,详细描述了采用CH341芯片设计简单三线RS-232串口的详细步骤,特别适合项目研发人员参考。

读者对象

• 串口通信编程爱好者

• 高校相关专业师生

• 社会培训班学生

• 嵌入式系统研发人员

• 通信设备研发人员

本书光盘

附赠光盘中给出了书中实例和综合实例的完整代码文档。

本书由解放军信息工程大学的李景峰主编,全书的构思、选题、编写和最后的统稿均由解放军信息工程大学的李景峰和杨丽娜、中原工学院的潘恒共同完成。其中,第1章和第4章由李景峰编写,第2章和第5章由潘恒编写,第3章由李景峰、贾晓静编写,第6章和第11章由赵俭编写,第7章、第12章和第15章由胡永进、贾晓静编写,第8章和第13章由刘威编写,第9章、第14章和第16章由杨丽娜编写,第10章由赵俭编写。在本书的编写过程中,张书钦、张新刚、宋一兵、张畅、楚洋洋、商静静、宋俊浩、刘刚、张轩、赵景伟、赵秋玲、张忠林、王献红、王臣业、张洪信等人参与了资料整理、文字录入、程序验证等工作。作者在这里向他们表示衷心的感谢!同时,本书还参阅了国内外同行的大量文献,在此也向这些文献的作者表示衷心的感谢!

由于串口通信程序开发涉及内容广泛,限于篇幅,部分基础理论和技术方法未能在本书中全部展开,对此作者表示遗憾和歉意。另外,由于作者的学识和水平有限,书中难免存在错误或疏漏,敬请专家和读者批评指正。

感谢您选择了本书,希望我们的努力对您的工作和学习有所帮助,也希望您把对本书的意见和建议告诉我们。

作者联系:gdz_zero@126.com

编辑联系:sdl@hzbook.com

作者

2010年6月