第一篇 基础理论和基本方法第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