标题：VisualC++串口通信开发入门与编程实践
介绍
版权信息书 名: VisualC++串口通信开发入门与编程  实践
作　者：周韧研  商斌
出版社： 电子工业出版社
出版时间： 2009
ISBN: 9787121082696
开本： 16
定价: 55.00 元
内容简介《VisualC++串口通信开发入门与编程实践》着重介绍计算机串口通信的硬件原理、软件开发和工程实例。《VisualC++串口通信开发入门与编程实践》从通信原理和工程实现出发，结合示例讲述使用串口进行通信的原理和开发技术。全书共分12章，第1、2章从电路和通信电子设备角度出发，详细讲解串行通信的理论基础和物理实现；第3～6章介绍在通用计算机（PC）的Windows环境下如何进行串口通信软件的开发，包括使用WindowsAPI、C++串口类以及Qt串口类等；第7～12章以工程中的6个实例为蓝本，介绍Windows平台下串行接口开发与嵌入式设备串口通信开发的相关技术。
书中源代码和项目设计代码请到的“下载专区”中下载。
《VisualC++串口通信开发入门与编程实践》的编写者具有计算机接口设备开发及软件开发的大量经验。《VisualC++串口通信开发入门与编程实践》适合于对电子电路和计算机体系有初步了解，但对软件开发掌握不多的读者作为自学用书，也可以作为自动化、电气、工控、机械等领域有相关需求的工程人员的参考书。
作者简介
周韧研，清华大学电子的工程学士。现就读清华大学微电子学研究所博士生，从事片上系统（SoC）和集成电路设计的研究工作，负责并参与多个国家自然科学基金项目。在嵌入式硬件电路设计、嵌入式网络通信方面具有多年的项目开发经验，熟悉PPC和ARM体系结构，精通VisualC串口通信编程。
商斌，北京理工大学软件工程硕士。4年外企研发工作经验，6年嵌入式系统编程经验，精通嵌入式系统通信接口开发，具备扎实的理论功底，发表SCI论文3篇。曾赴德国4所著名高校、研究所交流方向，已出版《嵌入式LinuxC语言开发入门与编程实践》、《Linux设备驱动开发入门与编程实践》等多部技术书籍。
编辑推荐
《VisualC++串口通信开发入门与编程实践》着重介绍计算机串口通信的硬件原理、软件开发和工程实例。案例式教学，丰富的项目实例+详尽的代码+完整的注解．全书讲解由浅入深、通俗易懂、注重实践，是一本不可多得的程序员手册。《VisualC++串口通信开发入门与编程实践》作者具有计算机接口设备开发以及软件开发的大量经验。配套代码免去烦琐输入代码的工作，提高学习效率。
与初学者探讨VisualC++串口通信开发技术，每一步都有详尽说明；案例式教学，丰富的项目实例+详尽的代码+完整的注解；倡导轻松、快捷编程的程序员必务手册；VisualC++串口通信开发入门、进阶的“一指神功”。
目录
第1章串行通信的基本概念1
1.1从电路到通信系统2
1.1.1应用信息论简要2
1.1.2串行通信的信源特性8
1.1.3串行通信的信道特性9
1.2计算机的数据接口12
1.2.1使用数据接口13
1.2.2计算机数据接口的发展14
1.2.3LPC总线与串口适配器17
1.3串行通信协议19
1.3.1为什么制定协议19
1.3.2OSI协议参考模型20
1.3.3一般模型与协议栈20
1.3.4串行通信协议23
1.4EIA-RS232串行接口标准介绍28
1.4.1EIA-RS232标准概述28
1.4.2电气特性30
1.4.3机械特性32
1.4.4信号线定义35
1.4.5串口近距离通信39
1.4.6串口通信的流控制41
1.5RS-422与RS-485串行接口标准45
1.5.1RS-422电气规定46
1.5.2RS-485电气规定47
1.5.3RS-422与RS-485的网络安装注意要点48
1.5.4RS-422与RS-485传输线上匹配的一些说明49
1.5.5RS-422与RS-485的接地问题50
1.5.6RS-422与RS-485的网络失效保护51
1.5.7RS-422与RS-485的瞬态保护52
1.6本章小结53
第2章异步串行通信接口电路简介55
2.18250兼容接口电路56
2.1.18250兼容接口电路概述56
2.1.28250的结构57
2.1.38250的编程方法58
2.28251A接口电路76
2.2.18251A的外部特性76
2.2.28251A的内部结构和编程模型77
2.2.38251A的状态字79
2.2.48251A的方式命令和工作命令的使用79
2.2.58251A应用举例79
2.3本章小结81
第3章在WindowsNT中搭建开发环境83
3.1准备工作84
3.1.1使用串口调试助手84
3.1.2双端口互联方案84
3.1.3单端口自联方案85
3.1.4使用USB-UART转换器85
3.1.5使用虚拟串口86
3.2使用MicrosoftVisualC++88
3.2.1开发平台的选择89
3.2.2工程类型和开发流程89
3.2.3HelloWorld——第一个串口通信程序90
3.3本章小结95
第4章使用WindowsAPI串口编程97
4.1WindowsAPI串口编程概述98
4.1.1不使用WindowsAPI98
4.1.2WindowsAPI初探100
4.1.3使用WindowsAPI进行串口开发102
4.2同步和异步I/O——基本的4.2读写问题104
4.2.1CreateFile函数——开启串口104
4.2.2CreateEvent函数——创建事件105
4.2.3Overlapped结构——异步模式信息的表达106
4.2.4WriteFile函数——发送数据107
4.2.5ReadFile函数——接收数据107
4.2.6WaitForSingleObject——等待事件信号108
4.2.7一个同步和异步I/O例子108
4.3Windows通信API114
4.3.1DCB概述114
4.3.2流控制117
4.3.3传输超时118
4.3.4串口状态121
4.4本章小结128
第5章使用CSerial类129
5.1封装串口通信API130
5.1.1串口编程回顾130
5.1.2封装串口通信相关的API131
5.1.3封装方案133
5.2CSerial简介134
5.2.1概述134
5.2.2修改“HelloWorld”程序134
5.3CSerial的串口事件143
5.3.1监听器：串口事件的响应143
5.3.2异步串口事件149
5.4WindowsGUI编程初探154
5.4.1函数指针与WindowsGUI154
5.4.2使用SDK开发WindowsGUI程序156
5.4.3资源、对话框和对话框模板162
5.4.4使用MFC169
5.5使用CSerial和MFC编写串口通信程序174
5.5.1向框架添加CSerial174
5.5.2设计应用程序界面176
5.5.3串口配置178
5.5.4数据的发送和接收184
5.5.5有关CSerialMFC的特别说明187
5.6本章小结187
第6章使用Qt进行串口编程189
6.1Qt简介190
6.1.1Qt的组成和特点190
6.1.2Qt的安装190
6.1.3Qt应用程序开发流程194
6.1.4获取帮助213
6.2使用Qt开发串口通信程序213
6.2.1Qt中的多线程编程213
6.2.2使用QextSerialPort——简单的实验221
6.2.3完善的串口通信程序228
6.2.4若干问题240
6.3本章小结241
第7章Windows下双机点到点串行通信系统设计与开发243
7.1Windows下双机的串行通信系统简介244
7.2Windows下双机点到点的串行通信系统的用户需求244
7.3Windows下双机的串行通信系统的分析244
7.4利用UML为本工程实例建模245
7.5Windows下双机的串行通信系统设计概述247
7.5.1系统模块图与面向对象方法介绍248
7.5.2封面设计249
7.5.3主界面设计252
7.6Windows下双机的串行通信系统的调试与实现262
7.6.1系统调试出现的问题262
7.6.2系统的实现263
7.7本章小结263
第8章16位高速DSP增强型同步串口的设计265
8.1概述266
8.2F206DSP处理器体系结构分析266
8.2.1F206DSP处理器概述266
8.2.2总线结构268
8.2.3中央处理单元概述269
8.2.4存储器和I/O空间272
8.3增强型同步串口的系统及设计273
8.3.1同步串口的基本原理274
8.3.2同步串口基本操作结构图275
8.3.3各种信号275
8.3.4缓存器与寄存器276
8.3.5中断277
8.3.6查错277
8.4接收电路的设计280
8.4.1突发模式的接收280
8.4.2连续模式的接收281
8.5发送电路的设计282
8.5.1利用内部帧同步的突发模式传送283
8.5.2利用外部帧同步的突发模式传送284
8.5.3利用内部帧同步的连续模式传送285
8.5.4利用外部帧同步的连续模式传送286
8.6接收与发送电路的实现与研究286
8.7同步串口中帧同步的设计287
8.7.1并行同步设计思想288
8.7.2多路并行帧同步系统288
8.8FIFO缓存器电路的设计289
8.8.1FIFO基本原理289
8.8.2通用FIFO的设计290
8.8.3同步串口中FIFO的设计291
8.9同步串口中特殊功能的设计293
8.9.1内部时钟和帧同步电路的设计293
8.9.2多通道选择电路的设计294
8.10同步串口中的状态寄存器296
8.11本章小结297
第9章串口与以太网数据传输实现299
9.1概述300
9.2设计芯片的软硬件选择301
9.2.1嵌入式网络模块DSLC-SOM-01301
9.2.2CT-xweb2000系统302
9.2.3ZNE-100T增强型嵌入式以太网转串口模块303
9.2.4RCM2200模块305
9.2.5各开发包的优缺点及其最终选择306
9.3Rabbit开发包和编程工具DynamicC简介306
9.3.1Rabbit微处理器结构图与Rabbit2000特点介绍307
9.3.2RCM2200系统结构与详细技术参数309
9.3.3DynamicC的特点310
9.4传输协议概述311
9.5串口传输协议的选择312
9.5.1XMODEM协议概述313
9.5.2XMODEM传输协议的实现函数313
9.5.3CHECKSUM校验方法314
9.6以太网口传输协议的选择与实现316
9.6.1网络传输协议的选择和UDP协议316
9.6.2TFTP服务器和客户端概述317
9.6.3TFTP传输的初始连接318
9.6.4TFTP包318
9.6.5TFTP传输的正常终止319
9.6.6TFTP协议的实现320
9.7串口到以太网口传输文件的实现321
9.7.1程序设计思想321
9.7.2程序实现322
9.7.3串口到以太网口文件传输源程序323
9.8以太网口到串口传输文件的实现331
9.8.1程序设计思想331
9.8.2程序实现332
9.8.3以太网口到串口文件传输源程序332
9.9工程应用概述340
9.10本章小结341
第10章基于串口的DNC信息采集系统的开发343
10.1DNC技术概述344
10.1.1DNC技术的产生与发展344
10.1.2DNC数据采集的重要性345
10.1.3DNC数据采集的现状346
10.2DNC信息采集系统的功能346
10.3DNC信息采集系统的底层设备接口347
10.4DNC数据采集系统通信技术348
10.4.1DNC数据采集系统的内部通信技术概述349
10.4.2DNC数据采集系统的外部通信技术概述351
10.4.3DNC数据采集的方法352
10.5基于串口的DNC信息采集系统的总体设计354
10.5.1系统总体结构355
10.5.2系统硬件组成355
10.5.3系统软件组成及主要功能356
10.6DNC信息采集系统相关技术358
10.6.1串口通信技术358
10.6.2宏指令采集359
10.6.3特殊程序上报采集364
10.6.4采集数据处理与信息发布365
10.6.5串口传输速度匹配366
10.7基于串口的DNC信息采集系统设计和开发367
10.7.1系统概述367
10.7.2数据库设计367
10.7.3串口通信实现369
10.7.4多线程的实现369
10.7.5数据采集的实现370
10.7.6信息发布实现372
10.7.7系统测试374
10.7.8系统的测试效果377
10.8本章小结378
第11章WindowsXP下USB转RS-232桥接器驱动程序开发379
11.1USB转RS-232桥接器概述380
11.1.1设备驱动的概念380
11.1.2USB技术特点380
11.1.3USB的广泛应用381
11.1.4USB在嵌入式设备中的应用383
11.1.5计算机常用外部总线比较383
11.1.6USB转RS-232桥接器发展现状385
11.1.7USB转RS-232桥接器驱动发展现状385
11.2USB总线技术介绍386
11.2.1USB系统拓扑结构386
11.2.2USB总线逻辑结构388
11.2.3传输协议388
11.2.4传输类型394
11.2.5设备框架399
11.2.6USB主机协议402
11.3USB转RS-232桥接器硬件设计404
11.3.1系统整体结构404
11.3.2USB接口设计406
11.3.3UART设计407
11.3.4Buffer设计409
11.3.5FIFO设计409
11.4桥接器驱动模型分析与实现机制411
11.4.1Windows驱动模型的发展412
11.4.2WDM驱动模型简介412
11.4.3基于WDM模型的桥接器驱动框架设计414
11.4.4确立开发方案418
11.4.5I/O请求包（IRP）418
11.4.6USB数据处理420
11.4.7内存分配策略421
11.4.8同步问题422
11.4.9使用推迟过程调用424
11.4.10使用完成例程425
11.5桥接器驱动程序重点例程设计426
11.5.1驱动程序入口例程426
11.5.2即插即用例程实现策略428
11.5.3分发例程实现策略432
11.5.4电源管理例程438
11.5.5卸载例程438
11.6驱动测试与安装438
11.6.1驱动测试438
11.6.2驱动的安装440
11.7本章小结441
第12章串口通信在机器人实时控制中的应用开发443
12.1工业机器人概述444
12.1.1工业机器人的发展444
12.1.2工业机器人的应用445
12.1.3工业机器人技术概述446
12.1.4机器人控制技术概述447
12.1.5串行通信449
12.1.6实时控制系统450
12.2MOTOMANUP6工业机器人系统介绍450
12.2.1MOTOMANUP6的结构与性能451
12.2.2MOTOMANUP6机器人控制系统451
12.2.3MOTOMANUP6机器人运动参数452
12.2.4机器人虚拟样机技术453
12.2.5机器人运动仿真454
12.3实时控制系统的总体分析455
12.3.1系统总体结构和组成455
12.3.2机器人功能分析456
12.3.3通信协议分析456
12.3.4RS-232C的不足之处及修正方案457
12.3.5机器人控制系统的图像监控458
12.4实时控制系统的实现459
12.4.1程序设计思路459
12.4.2编程语言及方法选择460
12.4.3VisualC++环境配置462
12.4.4通信参数设置与建立连接463
12.4.5机器人的主要状态463
12.4.6机器人通信功能模块及其具体实现464
12.4.7机器人可执行文件格式480
12.4.8编程注意事项481
12.4.9系统软件发布482
12.5控制系统中图像监控的实现482
12.5.1视频捕获482
12.5.2多线程编程技术在图像监控中的运用483
12.6本章小结485
……