首页>参考读物>计算机科学与技术>软件与程序设计

Visual C++串口通信技术详解
作者 : 李景峰 杨丽娜 潘恒 等编著
出版日期 : 2010-05-21
ISBN : 978-7-111-30312-1
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 380
开本 : 16
原书名 : Visual C++串口通信技术大全
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书介绍利用Visual C++集成开发环境进行串口通信程序开发。书中精选来自工程实践的应用范例,主要涵盖串口通信的理论基础、Visual C++集成开发环境简介、MSComm控件串口编程、Windows API串口编程、TAPI通信编程、串口实现双机互连、串口调试精灵、串口控制MODEM设备、串口控制单片机、串口控制PLC、串口控制射频卡、串口控制GPS模块、串口控制云台摄像头、智能报警系统、语音自动应答系统以及USB接口转RS-232串口等。

图书特色

本书系统论述了Visual C++集成环境下串口控制程序的设计思想和调试方法,深刻诠释了串口通信的基本理论、基本方法与实用技巧,并荟萃了单片机、PLC、GPS、射频卡及双机通信等实战项目,将作者多年的工程实践经验以案例形式分享给读者。

● 串口通信协议标准RS-232C、RS-422/485、SPI、USB ● 串口通信理论基础
● MSComm控件串口编程 ● Windows API串口编程
● Win32 TAPI串口通信编程 ● 串口编程控制Modem
● 串口编程控制单片机 ● 串口编程控制PLC
● 串口编程控制射频卡 ● 串口编程控制GPS模块
● 串口编程控制云台摄像头 ● 串口编程控制智能报警系统
● 串口编程控制语音自动应答系统
● 利用MSComm控件实现串口通信接收 ● 基于Windows API函数实现串口通信接收
● 利用Win32 TAPI函数实现电话语音功能 ● 串口调试精灵的设计与实现
● 双机互连串口通信程序设计 ● Modem串口控制程序设计
● PLC串口控制程序设计 ● 射频卡串口控制程序设计
● GPS模块串口控制程序设计 ● 云台摄像头串口控制程序设计
● 智能报警系统串口控制程序设计 ● 语音自动应答系统串口控制程序设计

图书前言

串口通信作为基础而灵活的一种通信方式,被广泛应用于计算机系统、自动化控制系统的数据通信。早期的串口通信程序多使用能够较好支持操作系统底层硬件操作的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月

上架指导

计算机\程序设计

封底文字

本书系统论述了Visual C++集成环境下串口控制程序的设计思想和调试方法,并将工程实践中得到的经验以案例形式介绍给读者。

涵盖内容
? 串口通信协议标准RS-232C、RS-422/485、SPI、USB
? 串口通信理论基础
? MSComm控件串口编程
? Windows API串口编程
? Win32 TAPI串行通信编程
? 串口编程控制Modem
? 串口编程控制单片机
? 串口编程控制PLC
? 串口编程控制射频卡
? 串口编程控制GPS模块
? 串口编程控制云台摄像头
? 串口编程控制智能报警系统
? 串口编程控制语音自动应答系统

综合实例
? 利用MSComm控件实现串口通信接收
? 基于Windows API函数实现串口通信接收
? 利用Win32 TAPI函数实现电话语音功能
? 串口调试精灵的设计与实现
? 双机互连串口通信程序
? Modem串口控制程序
? PLC芯片串口控制程序
? 射频卡串口控制程序
? GPS模块串口控制程序
? 云台摄像头串口控制程序
? 智能报警系统串口控制程序
? 语音自动应答系统串口控制程序


光盘附赠
书中全部实例源代码文件

作者简介

李景峰 杨丽娜 潘恒 等编著:暂无简介

图书目录

前言
第一篇 基础理论和基本方法
第1章 串口通信理论基础 1
1.1 接口技术 1
1.1.1 接口的定义 1
1.1.2 接口的基本功能 2
1.1.3 接口的基本控制方式 2
1.1.4 并行接口技术 3
1.1.5 串行接口技术 4
1.2 RS-232C标准 4
1.2.1 RS-232C电气特性 5
1.2.2 RS-232C连接器机械特性 5
1.2.3 RS-232C的接口信号 6
1.2.4 RS-232C的通信方式 7
1.3 RS-422/RS-485标准 8
1.3.1 RS-422简介 8
1.3.2 RS-485简介 9
1.3.3 RS-422/RS-485网络安装注意点 9
1.4 SPI总线标准 9
1.4.1 SPI总线原理 10
1.4.2 SPI总线特点 10
1.5 USB总线标准 11
1.5.1 USB总线总体结构 11
1.5.2 USB数据传输逻辑结构 12
1.5.3 传输类型 12
1.6 使用串口通信的典型外设 13
1.6.1 Modem 13
1.6.2 传真机 14
1.6.3 GPS接收机 15
1.7 实践拓展 17
第2章 Visual C++集成开发环境简介 21
2.1 面向对象程序设计与C++语言 21
2.1.1 面向对象程序设计概述 21
2.1.2 C++语言基础 23
2.1.3 C++的面向对象特性 28
2.2 Visual C++ 6.0集成开发环境 34
2.2.1 Visual C++ 6.0开发环境 34
2.2.2 项目与项目工作区 35
2.2.3 应用程序向导AppWizard 36
2.2.4 集成开发基本操作 38
2.2.5 联机帮助文件 43
2.3 MFC应用程序的创建 44
2.4 实践拓展 49
第3章 MSComm控件串口编程 51
3.1 MSComm控件简介 51
3.1.1 MSComm控件描述 51
3.1.2 MSComm控件常用属性 51
3.1.3 MSComm控件其他属性 53
3.1.4 MSComm控件的事件 57
3.2 MSComm控件编程步骤 57
3.2.1 加载MSComm控件到项目 57
3.2.2 初始化并打开串行端口 59
3.2.3 捕获串行端口事件 60
3.2.4 串行端口数据读写 60
3.2.5 关闭串行端口 61
3.2.6 程序发布问题 61
3.3 使用MSComm控件实现串口通信接收 62
3.4 实践拓展 69
第4章 Windows API串口编程 76
4.1 Windows API串行编程概述 76
4.1.1 串行编程的数据结构 76
4.1.2 串行编程的Win32 API函数 80
4.2 Win32 API串口通信编程方式 91
4.2.1 打开串行端口 91
4.2.2 配置串行端口 92
4.2.3 读写串行端口 94
4.2.4 关闭串行端口 97
4.3 基于Win32 API函数实现串口通信发送程序 97
4.4 实践拓展 105
第5章 TAPI串口编程 109
5.1 TAPI概述 109
5.1.1 TAPI的含义 109
5.1.2 TAPI的体系结构 109
5.1.3 TAPI的服务类型 110
5.2 Windows TAPI 2.x函数集 110
5.2.1 Windows TAPI编程流程 110
5.2.2 TAPI 2.x常用函数 111
5.3 使用TAPI实现电话拨打程序 117
5.4 实践拓展 142
第二篇 串口编程基础应用
第6章 串口实现双机互连 145
6.1 概述 145
6.2 通信协议及实现方案 147
6.2.1 异步串行通信 147
6.2.2 同步串行通信 148
6.3 实现代码分析 151
6.3.1 程序主体设计及关键模块分析 151
6.3.2 使用API通信 155
6.4 实践拓展 165
第7章 串口调试精灵 167
7.1 串口调试工具实现的基本要求 167
7.2 串口调试精灵的编程实现 168
7.2.1 软件功能及流程设计 168
7.2.2 程序界面分析 169
7.2.3 编程实现 170
7.2.4 使用测试 184
7.3 实践拓展 184
第8章 串口控制Modem设备 185
8.1 Modem接口 185
8.1.1 Modem简介 185
8.1.2 Modem工作流程 186
8.1.3 Modem通信方案 187
8.2 AT指令简介 187
8.2.1 Modem工作状态 188
8.2.2 AT指令集 189
8.3 使用Modem实现远程通信 191
8.3.1 使用单片机和Modem通信 191
8.3.2 使用PC和Modem通信 193
8.4 实践拓展 212
第9章 串口控制单片机 214
9.1 串口通信硬件设计 214
9.1.1 MCS-51系列单片机的串口原理 214
9.1.2 常用的接口芯片介绍 216
9.1.3 接口电路设计 217
9.2 串口通信参数设置 217
9.2.1 波特率设置 217
9.2.2 奇偶校验位的使用方法 218
9.2.3 通信协议约定 218
9.3 系统总体设计 219
9.4 单片机的串口编程方法 219
9.5 计算机端通信界面设计 222
9.6 计算机端程序设计 223
9.6.1 头文件引用及变量声明 223
9.6.2 控件加载及控件属性设置 225
9.6.3 发出读数据请求 225
9.6.4 接收数据的处理 227
9.6.5 关闭串口 234
9.7 实践拓展 235
第10章 串口控制PLC 236
10.1 PLC概述 236
10.1.1 PLC基本结构 236
10.1.2 PLC串行接口规范 238
10.1.3 通信协议 239
10.2 PLC串口通信 239
10.2.1 计算机与PLC之间的通信流程 239
10.2.2 PLC通信编程 239
10.3 实现代码分析 245
10.3.1 界面设计 245
10.3.2 程序设计核心代码 245
10.4 实践拓展 247
第11章 串口控制射频卡 249
11.1 射频卡概述 249
11.1.1 射频卡原理 249
11.1.2 射频卡分类及应用 250
11.1.3 典型射频卡模块 251
11.2 射频卡应用设计 253
11.2.1 读写器设计 253
11.2.2 基于射频卡模块的设计 254
11.3 实现代码分析 255
11.3.1 界面设计 255
11.3.2 串口通信程序设计 255
11.4 实践拓展 258
第12章 串口控制GPS模块 261
12.1 GPS系统的基础知识 261
12.1.1 GPS定位原理 261
12.1.2 GPS系统 262
12.2 LEA-4H型GPS模块的性能及其应用 263
12.3 NMEA-0183协议分析 266
12.3.1 NMEA-0183协议的定义 266
12.3.2 NMEA-0183数据信息 266
12.4 主机与GPS模块串口通信的程序实现 267
12.4.1 MSComm控件属性 267
12.4.2 添加MSComm控件 269
12.4.3 添加串口事件消息处理函数OnComm() 270
12.4.4 数据的接收与提取 272
12.4.5 实验结果及数据的显示 274
12.5 实践拓展 275
第三篇 串口编程高级应用
第13章 串口控制云台摄像头 277
13.1 云台摄像头 277
13.1.1 云台简介 277
13.1.2 摄像头及控制电路 279
13.2 云台控制协议 279
13.3 控制程序分析 282
13.3.1 添加控件 282
13.3.2 设置界面 283
13.3.3 主控程序 284
13.3.4 初始化 288
13.3.5 配置按钮 292
13.3.6 通信参数的设置 299
13.3.7 云台控制命令 303
13.3.8 旋转控制按钮和镜头控制按钮 308
13.4 实践拓展 311
第14章 智能报警系统 313
14.1 系统描述 313
14.2 系统分析与设计 313
14.3 关键技术 315
14.3.1 建立安防信息数据库 315
14.3.2 端口设置和定时读取I/O端口数据 315
14.3.3 判断是否有触发事件 315
14.3.4 启动并口控制的报警设备 316
14.3.5 根据设置拨打报警电话 317
14.3.6 安防日志管理 318
14.3.7 I/O端口通信 318
14.4 实现代码分析 319
14.4.1 创建项目 319
14.4.2 界面设计与实现 320
14.4.3 加入数据库支持 325
14.4.4 关键程序类的实现 326
14.5 实践拓展 339
第15章 语音自动应答系统 340
15.1 功能描述 340
15.1.1 TAPI介绍 340
15.1.2 功能介绍 342
15.1.3 实验要求 342
15.2 设计流程实现 343
15.2.1 程序设计流程图 343
15.2.2 TAPI 3.0方法介绍 344
15.2.3 串处理分析介绍 344
15.3 具体功能实现 346
15.3.1 程序主界面 346
15.3.2 参数配置 348
15.3.3 选择语音界面 350
15.4 实践拓展 351
第16章 USB转RS-232串口实例 353
16.1 USB总线技术简介 353
16.1.1 USB的特点 353
16.1.2 USB的体系结构 353
16.1.3 USB的电气特性 355
16.1.4 USB的数据通信协议 355
16.2 功能描述 360
16.3 USB总线转换芯片CH341简介 360
16.3.1 CH341异步串口工作方式 361
16.3.2 CH341功能配置 363
16.4 USB转RS-232桥接器硬件设计 364
16.5 驱动程序安装 366
16.6 实践拓展 366
附录 Modem AT命令集 367
参考文献 369

教学资源推荐
作者: [美] 克里斯多夫 W. 弗雷泽(Christopher W. Fraser)戴维 R. 汉森(David R. Hanson) 著
作者: (美)H.M.Deitel, P.J.Deitel
作者: 曹青 邱李华 郭志强
作者: 顾治华 陈天煌 孙珊珊 编著
参考读物推荐
作者: (美)Stephen Walther
作者: 快学习教育 编著
作者: [美]鲁道夫·焦梅蒂(Rodolfo Giometti)著