《Visual C++串口通信开发入门与编程实践》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:周韧研,商斌编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121082696
  • 页数:486 页
图书介绍:本书着重介绍计算机串口通信的硬件原理、软件开发和工程实例。本书从通信原理和工程实现出发,结合示例讲述使用串口进行通信的原理和开发技术,共分10章。第1、2章从电路和通信电子设备角度出发,详细讲解串行通信的理论基础和物理实现;第3~6章介绍在通用计算机(PC)Windows环境下如何进行串口通信软件的开发,包括使用Windows API、C++串口类以及Qt串口类等。第7~10章,以工程中的4个实例为蓝本,讲述嵌入式设备串口通信的特点以及计算机接口设备开发的相关知识。本书的编写者具有计算机接口设备开发以及软件开发的大量经验。

第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.3 LPC总线与串口适配器 17

1.3 串行通信协议 19

1.3.1 为什么制定协议 19

1.3.2 OSI协议参考模型 20

1.3.3 一般模型与协议栈 20

1.3.4 串行通信协议 23

1.4 EIA RS-232串行接口标准介绍 28

1.4.1 EIA RS-232标准概述 28

1.4.2 电气特性 30

1.4.3 机械特性 32

1.4.4 信号线定义 35

1.4.5 串口近距离通信 39

1.4.6 串口通信的流控制 41

1.5 RS-422与RS-485串行接口标准 45

1.5.1 RS-422电气规定 46

1.5.2 RS-485电气规定 47

1.5.3 RS-422与RS-485的网络安装注意要点 48

1.5.4 RS-422与RS-485传输线上匹配的一些说明 49

1.5.5 RS-422与RS-485的接地问题 50

1.5.6 RS-422与RS-485的网络失效保护 51

1.5.7 RS-422与RS-485的瞬态保护 52

1.6 本章小结 53

第2章 异步串行通信接口电路简介 55

2.1 8250兼容接口电路 56

2.1.1 8250兼容接口电路概述 56

2.1.2 8250的结构 57

2.1.3 8250的编程方法 58

2.2 8251A接口电路 76

2.2.1 8251A的外部特性 76

2.2.2 8251A的内部结构和编程模型 77

2.2.3 8251A的状态字 79

2.2.4 8251A的方式命令和工作命令的使用 79

2.2.5 8251A应用举例 79

2.3 本章小结 81

第3章 在Windows NT中搭建开发环境 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 使用Microsoft VisualC++ 88

3.2.1 开发平台的选择 89

3.2.2 工程类型和开发流程 89

3.2.3 Hello World—第一个串口通信程序 90

3.3 本章小结 95

第4章 使用Windows API串口编程 97

4.1 Windows API串口编程概述 98

4.1.1 不使用Windows API 98

4.1.2 Windows API初探 100

4.1.3 使用Windows API进行串口开发 102

4.2 同步和异步I/O—基本的读写问题 104

4.2.1 CreateFile函数—开启串口 104

4.2.2 CreateEvent函数—创建事件 105

4.2.3 Overlapped结构—异步模式信息的表达 106

4.2.4 WriteFile函数—发送数据 107

4.2.5 ReadFile函数—接收数据 107

4.2.6 WaitForSingleObject—等待事件信号 108

4.2.7 一个同步和异步I/O例子 108

4.3 Windows通信API 114

4.3.1 DCB概述 114

4.3.2 流控制 117

4.3.3 传输超时 118

4.3.4 串口状态 121

4.4 本章小结 128

第5章 使用CSerial类 129

5.1 封装串口通信API 130

5.1.1 串口编程回顾 130

5.1.2 封装串口通信相关的API 131

5.1.3 封装方案 133

5.2 CSe简介 134

5.2.1 概述 134

5.2.2 修改“Hello World”程序 134

5.3 CSe的串口事件 143

5.3.1 监听器:串口事件的响应 143

5.3.2 异步串口事件 149

5.4 Windows GUI编程初探 154

5.4.1 函数指针与Windows GUI 154

5.4.2 使用SDK开发Windows GUI程序 156

5.4.3 资源、对话框和对话框模板 162

5.4.4 使用MPC 169

5.5 使用CSeal和MFC编写串口通信程序 174

5.5.1 向框架添加CSeal 174

5.5.2 设计应用程序界面 176

5.5.3 串口配置 178

5.5.4 数据的发送和接收 184

5.5.5 有关CSea1 MFC的特别说明 187

5.6 本章小结 187

第6章 使用Qt进行串口编程 189

6.1 Qt简介 190

6.1.1 Qt的组成和特点 190

6.1.2 Qt的安装 190

6.1.3 Qt应用程序开发流程 194

6.1.4 获取帮助 213

6.2 使用Qt开发串口通信程序 213

6.2.1 Qt中的多线程编程 213

6.2.2 使用QextSealPo—简单的实验 221

6.2.3 完善的串口通信程序 228

6.2.4 若干问题 240

6.3 本章小结 241

第7章 Windows下双机点到点串行通信系统设计与开发 243

7.1 Windows下双机的串行通信系统简介 244

7.2 Windows下双机点到点的串行通信系统的用户需求 244

7.3 Windows下双机的串行通信系统的分析 244

7.4 利用UML为本工程实例建模 245

7.5 Windows下双机的串行通信系统设计概述 247

7.5.1 系统模块图与面向对象方法介绍 248

7.5.2 封面设计 249

7.5.3 主界面设计 252

7.6 Windows下双机的串行通信系统的调试与实现 262

7.6.1 系统调试出现的问题 262

7.6.2 系统的实现 263

7.7 本章小结 263

第8章 16位高速DSP增强型同步串口的设计 265

8.1 概述 266

8.2 F206 DSP处理器体系结构分析 266

8.2.1 F206 DSP处理器概述 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.8 FIFO缓存器电路的设计 289

8.8.1 FIFO基本原理 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-01 301

9.2.2 CT-xweb2000系统 302

9.2.3 ZNE-100T增强型嵌入式以太网转串口模块 303

9.2.4 RCM2200模块 305

9.2.5 各开发包的优缺点及其最终选择 306

9.3 Rabbit开发包和编程工具DynamicC简介 306

9.3.1 Rabbit微处理器结构图与Rabbit2000特点介绍 307

9.3.2 RCM2200系统结构与详细技术参数 309

9.3.3 DynamicC的特点 310

9.4 传输协议概述 311

9.5 串口传输协议的选择 312

9.5.1 XMODEM协议概述 313

9.5.2 XMODEM传输协议的实现函数 313

9.5.3 CHECKSUM校验方法 314

9.6 以太网口传输协议的选择与实现 316

9.6.1 网络传输协议的选择和UDP协议 316

9.6.2 TFTP服务器和客户端概述 317

9.6.3 TFTP传输的初始连接 318

9.6.4 TFTP包 318

9.6.5 TFTP传输的正常终止 319

9.6.6 TFTP协议的实现 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.1 DNC技术概述 344

10.1.1 DNC技术的产生与发展 344

10.1.2 DNC数据采集的重要性 345

10.1.3 DNC数据采集的现状 346

10.2 DNC信息采集系统的功能 346

10.3 DNC信息采集系统的底层设备接口 347

10.4 DNC数据采集系统通信技术 348

10.4.1 DNC数据采集系统的内部通信技术概述 349

10.4.2 DNC数据采集系统的外部通信技术概述 351

10.4.3 DNC数据采集的方法 352

10.5 基于串口的DNC信息采集系统的总体设计 354

10.5.1 系统总体结构 355

10.5.2 系统硬件组成 355

10.5.3 系统软件组成及主要功能 356

10.6 DNC信息采集系统相关技术 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章 Windows XP下USB转RS-232桥接器驱动程序开发 379

11.1 USB转RS-232桥接器概述 380

11.1.1 设备驱动的概念 380

11.1.2 USB技术特点 380

11.1.3 USB的广泛应用 381

11.1.4 USB在嵌入式设备中的应用 383

11.1.5 计算机常用外部总线比较 383

11.1.6 USB转RS-232桥接器发展现状 385

11.1.7 USB转RS-232桥接器驱动发展现状 385

11.2 USB总线技术介绍 386

11.2.1 USB系统拓扑结构 386

11.2.2 USB总线逻辑结构 388

11.2.3 传输协议 388

11.2.4 传输类型 394

11.2.5 设备框架 399

11.2.6 USB主机协议 402

11.3 USB转RS-232桥接器硬件设计 404

11.3.1 系统整体结构 404

11.3.2 USB接口设计 406

11.3.3 UART设计 407

11.3.4 Buer设计 409

11.3.5 FIFO设计 409

11.4 桥接器驱动模型分析与实现机制 411

11.4.1 Windows驱动模型的发展 412

11.4.2 WDM驱动模型简介 412

11.4.3 基于WDM模型的桥接器驱动框架设计 414

11.4.4 确立开发方案 418

11.4.5 I/O请求包(IRP) 418

11.4.6 USB数据处理 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.2 MOTOMAN UP6工业机器人系统介绍 450

12.2.1 MOTOMAN UP6的结构与性能 451

12.2.2 MOTOMAN UP6机器人控制系统 451

12.2.3 MOTOMAN UP6机器人运动参数 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.4 RS-232C的不足之处及修正方案 457

12.3.5 机器人控制系统的图像监控 458

12.4 实时控制系统的实现 459

12.4.1 程序设计思路 459

12.4.2 编程语言及方法选择 460

12.4.3 Visual C+++环境配置 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