《Visual C++/Turbo C 串口通信编程实践 第2版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:龚建伟,熊光明编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:9787121049422
  • 页数:557 页
图书介绍:本书从编程实践角度详细介绍了PC计算机Windows环境下、DOS环境下以及单片机的串口通信的基本方法,并根据当前串口与网络结合的发展趋势,给出了串口与TCP/IP网络、远程监控相结合的解决方案与详细程序实例。内容丰富、步骤详尽,初学Visual C++/Turbo C的读者也能很快编写出实用的串口通信程序。第二版根据第一版的使用反馈,增加了许多基础内容与应用实例,更易于读者掌握和调试程序。配套光盘中包含了书中实例源程序和相关资料。

第1章 轻松体验串口通信编程与调试 1

1.1 初识串口 2

1.1.1 从外观上了解串口 2

1.1.2 串口通信的发展前景 3

1.2 自己制作简单的串口线 4

1.2.1 三线制串口接线的规定 4

1.2.2 焊接制作自己的串口连接线 5

1.3 调试串口通信程序时的几种技巧 7

1.3.1 查看计算机串口资源 7

1.3.2 常规调试-2个物理串口之间的通信 8

1.3.3 特殊调试-单个物理串口之间的通信 9

1.3.4 虚拟串口-为计算机添加取之不尽的串口资源 10

1.4 使用串口调试助手来体验串口通信 11

1.5 体验Windows环境下Visual C++串口通信编程 14

1.6 体验DOS环境下Turbo C串口通信编程 22

第2章 多线程串口编程工具CSerialPort类 27

2.1 CSerialPort类的功能及成员函数介绍 27

2.2 应用CSerialPort类编制基于对话框的应用程序 45

2.3 应用CSerialPort类编制基于单文档的应用程序 50

2.4 对CSerialPort类的改进 56

2.4.1 改进一:ASCⅡ文本和二进制数据发送方式兼容 56

2.4.2 改进二:也许能解决内存泄漏 59

2.4.3 改进三:彻底关闭串口,释放串口资源 60

2.5 在Visual C++.NET中应用CSerialPort类 61

第3章 控件MSComm串口编程 63

3.1 MSComm控件详细介绍 63

3.1.1 VC 6.0中应用MSComm控件编程步骤 63

3.1.2 MSComm控件串行通信处理方式 64

3.1.3 MSComm控件的属性说明 65

3.1.4 MSComm控件错误信息 73

3.2 使用MSComm控件的几个疑难问题 73

3.2.1 使用VARIANT和SAFEARRAY数据类型从串口读写数据 73

3.2.2 MSComm控件能离开对话框独立存在吗 77

3.2.3 如何发送接收ASCII值为0和大于128的字符 78

3.2.4 在同一程序中用MSComm控件控制多个串口的具体操作方法 79

3.2.5 解决使用控件编程时程序占用的内存会不断增大的问题 80

3.2.6 在MSComm控件串口编程时遇到的其他问题 81

3.3 在基于单文档(SDI)程序中应用MSComm控件 81

3.4 应用MSComm控件控制多个串口实例 87

3.5 串口与MODEM拨号应用简例 95

3.5.1 创建工程 95

3.5.2 代码分析 97

3.5.3 应用 105

第4章 Windows API串口编程 107

4.1 Windows API串口编程概述 107

4.2 API串口编程中用到的结构及相关概念说明 108

4.2.1 DCB(Device Control Block)结构 109

4.2.2 超时设置COMMTIMEOUTS结构 112

4.2.3 OVERLAPPED异步I/O重叠结构 114

4.2.4 通信错误与通信设备状态 115

4.2.5 串行通信事件 117

4.3 Windows API串行通信函数 117

4.4 Win32 API串口通信编程的一般流程和特殊实例 138

4.4.1 Win32 API串口通信编程的一般流程 139

4.4.2 用查询方式读串口 139

4.4.3 同步I/O读写数据 140

4.4.4 关于流控制的设置问题 141

4.5 CSerialPort类中的API函数编程应用剖析 141

4.6 Win32 API串口编程TTY(虚拟终端)实例 153

4.6.1 建立程序工程 153

4.6.2 建立串口设置对话框 154

4.6.3 编写CTermDoc类的相关代码 157

4.6.4 小结 168

4.6.5 在CTermView类中键入处理代码与串口接收处理代码 170

4.7 Windows API串口精简例程 174

第5章 串口调试助手V2.2详细编程 176

5.1 建立SCOMM程序工程实现界面功能 176

5.2 串口的初始化及关闭 179

5.3 串口数据的发送与接收及十六进制数据的处理 181

5.3.1 十六进数据发送处理 181

5.3.2 手动发送处理 182

5.3.3 自动发送处理 183

5.3.4 接收处理及十六进制显示 184

5.4 其他辅助功能的实现 186

5.4.1 接收数据的文件保存 186

5.4.2 实现小文件发送 189

5.4.3 图钉按钮功能使程序能浮在最上层 192

5.4.4 对话框动画图标的实现 194

5.4.5 超链接功能的实现 195

5.4.6 如何打开帮助网页文件 196

第6章 DOS环境下的Turbo C串口编程及通用实例GSerial类 200

6.1 PC机异步通信适配器8250及其编程操作 201

6.1.1 INS8250内部寄存器及其选择方式 201

6.1.2 波特率设置 201

6.1.3 数据位、奇偶校验、停止位等数据格式设置 202

6.1.4 查询I/O方式相关设置 203

6.1.5 中断I/O通信方式相关设置 204

6.1.6 MODEM寄存器 205

6.2 COMRXTX程序实例 206

6.3 通用实例程序GSerial类 208

6.4 用GSerial类控制多串口 221

6.5 多串口编程PC机高号中断8259A可编程中断控制器的控制 232

第7章 数据处理方法与串口通信用户层协议的编制 235

7.1 通信协议的编制 235

7.1.1 为什么要编制用户通信协议 235

7.1.2 串口通信中用户层协议编制原则 237

7.1.3 在串口通信中几种常用的用户层协议说明 238

7.2 数制、数据的表示及逻辑运算 241

7.2.1 串口通信编程常用的数制 241

7.2.2 ASCII文本及其表示方法 242

7.2.3 逻辑运算与位运算 244

7.3 数据包校验与常用校验算法 245

7.3.1 数据校验过程 245

7.3.2 奇偶校验 246

7.3.3 异或校验 246

7.3.4 CRC循环冗余码校验 247

7.4 串口通信数据包处理方法编程实例 251

第8章 单片机串口通信 268

8.1 单片机串口硬件系统及C51程序开发 268

8.1.1 较典型的单片机硬件系统实例 268

8.1.2 C51语言及程序简介 269

8.1.3 开发C51程序的利器Keil C51 uVision2及串口程序仿真 271

8.2 C51单片机串口通信程序实例 275

8.2.1 实例一: 275

8.2.2 实例二: 276

8.3 AVR单片机串口通信 278

8.3.1 AVR单片机简介 278

8.3.2 AVR单片机串口通信 280

8.4 Freescal(Motorola)单片机开发及串口通信实例 283

8.4.1 Freescal(Motorola)单片机软件集成开发环境和程序下载 283

8.4.2 Freescal(Motorola)8位单片机程序烧写专用软件:PROG08SZ-FLASH PROGRAMMER 291

8.4.3 Freescal(Motorola)单片机串口通信程序实例 294

第9章 串口与网络结合的解决方案及编程 300

9.1 串口与网络结合的硬件解决方案 300

9.2 典型串口与网络联接的设备介绍 301

9.2.1 NPort5400系列产品特点说明 301

9.2.2 NPort5400系列产品的典型应用介绍 303

9.2.3 NPort5400系列产品的设置与编程测试 304

9.3 与ACCESS数据库结合的串口通信实例 305

9.3.1 电子罗盘数据处理 306

9.3.2 创建ODBC数据源 307

9.3.3 创建工程 307

9.3.4 编写程序 310

9.4 与TCP/IP网络结合的串口通信实例 319

9.4.1 客户端Client应用程序 319

9.4.2 服务器Server应用程序 324

9.5 在已经编好的串口通信程序中加入网络通信功能 333

9.5.1 参照MFC AppWizard创建WinSockets程序 334

9.5.2 利用Windows Sockets API和第三方提供的类进行编程 335

9.6 串口通信用于遥控操作简例 335

9.7 TCP/IP的QQ式局域网通信程序实例 339

9.7.1 客户端Client应用程序 340

9.7.2 服务器Server应用程序 346

第10章 计算机串口与其他通信协议设备的联接 352

10.1 串口与其他通信协议模块的调试与设备 352

10.1.1 Windows超级终端 352

10.1.2 串口通信中的无线数据传输 356

10.2 计算机与Rabbit 2000嵌入式系统通信编程实例 362

10.2.1 Rabbit2000微处理器介绍 362

10.2.2 动态C(Dynamic C)语言介绍 363

10.2.3 某车载无线调度系统实例介绍 364

10.3 计算机与PLC通信程序实例 370

10.4 MATLAB环境串口编程通信实例 372

10.4.1 MATLAB串口类Serial应用 372

10.4.2 通过串口使MATLAB simulink与下位机通信进行控制 376

10.4.3 xPC目标环境下串口通信实现 376

第11章 串口通信基本概念及标准 379

11.1 串口通信基本概念 379

11.1.1 串行通信概述 379

11.1.2 单工、半双工和全双工的定义 382

11.1.3 同步传送与异步传送 383

11.1.4 串行通信协议 383

11.2 RS-232-C串口标准 387

11.2.1 RS-232-C标准 387

11.2.2 RS-232-C串行通信接线实例 389

11.3 RS-422/485串口标准 391

11.3.1 RS-422/485串口通信特点 391

11.3.2 RS-422与RS-485串行接口标准 392

11.3.3 RS-422与RS-485的网络安装注意要点 394

11.3.4 RS-232、RS422、RS485电气参数对比 395

11.3.5 PC机与单片机RS422/RS485程序编写注意事项 395

11.4 串口调试注意事项 396

11.5 常用数据校验法 396

11.6 串口连接和TCP/IP连接对比 396

11.7 现场总线与RS-232、RS-485的本质区别 396

11.8 MODEM通信技术 397

11.8.1 MODEM的基本工作原理 397

11.8.2 MODEM的功能 398

11.8.3 MODEM的分类 398

11.8.4 MODEM的安装 401

11.8.5 Modem V.92标准介绍 402

11.8.6 MODEM的速度 403

11.8.7 MODEM优化方法 404

11.8.8 MODEM命令/AT命令 406

第12章 不占用串口的串口数据捕捉 415

12.1 驱动程序的基本概念:VxD与WDM 415

12.1.1 虚拟设备驱动程序VxD 415

12.1.2 Win32驱动程序模型WDM 418

12.1.3 在不同操作系统下选用哪种驱动程序模式 418

12.2 VxD示例程序介绍—VToolsD中的CommHook 419

12.3 串口数据捕捉实例程序 419

12.3.1 编程任务: 419

12.3.2 编程步骤 419

12.4 虚拟串口简介 434

第13章 串口通信综合应用实例 435

13.1 七自由度机械臂远程控制系统 435

13.1.1 基于串口通信的单片机系统设计 436

13.1.2 基于串口与TCP/IP网络的远程控制 451

13.1.3 基于视频网络服务器的远程控制 455

13.2 基于串口通信的LMS-200激光雷达数据处理 457

13.2.1 LMS-200激光雷达工作原理 457

13.2.2 激光雷达数据处理软件的开发 459

13.2.3 软件开发详细步骤 461

13.2.4 实验测试 482

13.3 串口通信在PC/104系统中的应用 485

13.3.1 PC/104简介 485

13.3.2 基于PC/104的机器人控制系统 486

13.3.3 串口扩展卡及基于串行通信的传感器 492

13.3.4 下位机程序 501

13.4 串口在先锋机器人P3-AT中的应用 510

13.4.1 P3-AT简介 510

13.4.2 串口通信协议 513

13.4.3 发送控制代码的简单示例程序 516

13.4.4 ARIA中串口类的使用 524

附录A TurboC 23说明 544

附录B ASCII码表 555