第一篇 基础知识篇 1
第1章 串口通信理论基础 1
1.1接口技术 2
1.1.1接口的定义 2
1.1.2接口的基本功能 2
1.1.3接口的基本控制方式 3
1.1.4并行接口技术 4
1.1.5串行接口技术 5
1.2 RS-232C标准 5
1.2.1 RS-232C电气特性 6
1.2.2 RS-232C连接器机械特性 6
1.2.3 RS-232C的接口信号 8
1.2.4 RS-232C的通信方式 9
1.3 RS-422/RS-485标准 10
1.3.1 RS-422简介 10
1.3.2 RS-485简介 10
1.3.3 RS-422/485 网络安装注意事项 11
1.4 SPI总线标准 11
1.4.1 SPI总线原理 11
1.4.2 SPI总线特点 12
1.5 USB总线标准 12
1.5.1 USB总线总体结构 13
1.5.2 USB数据传输逻辑结构 13
1.5.3传输类型 14
1.6使用串口通信的典型外设 14
1.6.1 Modem 15
1.6.2传真机 15
1.6.3 GPS接收机 17
1.7实践知识拓展 19
1.8思考与练习 22
第2章Visual C++++集成开发环境简介 23
2.1面向对象程序设计与C++++语言 23
2.1.1面向对象程序设计概述 23
2.1.2 C++++语言基础 25
2.1.3 C++++的面向对象特性 31
2.2 Visual C++++ 6.0集成开发环境 37
2.2.1 Visual C++++ 6.0开发环境 37
2.2.2项目与项目工作区 38
2.2.3应用程序向导AppWizard 40
2.2.4集成开发基本操作 42
2.2.5联机帮助文件 49
2.3 MFC应用程序的创建 50
2.4实践知识拓展 56
2.5思考与练习 58
第3章MSComm控件串口编程 59
3.1 MSComm控件简介 59
3.1.1 MSComm控件描述 59
3.1.2 MSComm控件的常用属性 59
3.1.3 MSComm控件的其他属性 61
3.1.4 MSComm控件的事件 65
3.2 MSComm控件编程步骤 66
3.2.1加载MSComm控件到项目 66
3.2.2初始化并打开串行端口 68
3.2.3捕获串行端口事件 69
3.2.4串行端口数据读写 70
3.2.5关闭串行端口 71
3.2.6程序发布问题 71
3.3使用MSComm控件实现串口通信接收 71
3.4实践知识拓展 78
3.5思考与练习 85
第4章Windows API串口编程 86
4.1 Windows API串行编程概述 86
4.1.1串行编程的数据结构 87
4.1.2串行编程的Win32 API函数 90
4.2 Win32 API串口通信编程方式 102
4.2.1打开串行端口 102
4.2.2配置串行端口 103
4.2.3读/写串行端口 104
4.2.4关闭串行端口 108
4.3基于Win32 API函数实现串口通信发送程序 108
4.4实践知识拓展 116
4.5思考与练习 120
第5章TAP I串口编程 121
5.1 TAPI概述 121
5.1.1 TAPI的含义 121
5.1.2 TAPI的体系结构 122
5.1.3 TAPI的服务类型 122
5.2 Windows TAPI 2.x函数集 123
5.2.1 Windows TAPI编程流程 123
5.2.2 TAPI 2.x常用函数 123
5.3使用TAPI实现电话拨打程序 130
5.4实践知识拓展 155
5.5思考与练习 158
第二篇 项目技巧篇 159
第6章 串口实现双机互连 159
6.1概述 160
6.2通信协议及实现方案 161
6.2.1异步串行通信 161
6.2.2同步串行通信 163
6.3实现代码分析 166
6.3.1程序主体设计及关键模块分析 166
6.3.2使用API通信 170
6.4实践知识拓展 180
6.5 思考与练习 182
第7章 串口调试精灵 183
7.1串口调试精灵设计要求 183
7.2串口调试精灵的编程实现 184
7.2.1软件功能及流程设计 185
7.2.2具体编程实现 186
7.2.3串口调试精灵的测试 201
7.2.4串口调试精灵的发布 203
7.3实践知识拓展 205
7.4思考与练习 206
第8章 串口控制Modem设备 207
8.1 Modem接口 207
8.1.1 Modem简介 207
8.1.2 Modem工作流程 209
8.1.3 Modem通信方案 209
8.2 AT指令简介 210
8.2.1 Modem工作状态 210
8.2.2 AT指令集 211
8.3使用Modem实现远程通信 214
8.3.1使用单片机和Modem通信 214
8.3.2使用PC和Modem通信 215
8.3.3 MSComm控件的属性和事件 216
8.4实践知识拓展 234
8.5思考与练习 235
第9章 计算机和单片机的串口通信 236
9.1串口通信硬件设计 236
9.1.1 MCS-51系列单片机的串口原理 237
9.1.2常用的接口芯片介绍 238
9.1.3接口电路设计 240
9.2串口通信参数设置 240
9.2.1波特率设置 240
9.2.2奇偶校验位的使用方法 241
9.2.3通信协议约定 242
9.3系统总体设计 242
9.4单片机的串口编程方法 242
9.5计算机端通信界面设计 245
9.6计算机端程序设计 246
9.6.1头文件引用及变量声明 247
9.6.2控件加载及控件属性设置 248
9.6.3发出读数据请求 249
9.6.4接收数据的处理 250
9.6.5关闭串口 258
9.7实践知识拓展 258
9.8思考与练习 259
第10章 计算机和PLC串口通信 260
10.1 PLC概述 260
10.1.1 PLC的基本结构 260
10.1.2 PLC串行接口规范 262
10.1.3通信协议 263
10.2 PLC串口通信 264
10.2.1计算机与PLC通信流程 264
10.2.2 PLC通信编程 264
10.3实现代码分析 269
10.3.1界面设计 270
10.3.2程序设计核心代码 270
10.4实践知识拓展 271
10.5思考与练习 274
第11章 计算机与射频卡通信 275
11.1射频卡概述 275
11.1.1射频卡的工作原理 276
11.1.2射频卡的分类及应用 277
11.1.3典型的射频卡模块 277
11.2射频卡应用设计 280
11.2.1读写器设计 280
11.2.2基于射频卡模块的设计 281
11.3实现代码分析 281
11.3.1界面设计 281
11.3.2程序设计核心代码 282
11.4实践知识拓展 284
11.5思考与练习 287
第12章 通过串口控制GPS模块 288
12.1 GPS系统的基础知识 288
12.1.1 GPS定位原理 289
12.1.2 GPS系统 290
12.2 GPS模块的性能及使用 291
12.2.1市场主流GPS接收机模块 291
12.2.2 U-Blox公司LEA-4H型GPS接收模块 292
12.3 NMEA-0183协议 295
12.3.1 NMEA-0183协议的定义 295
12.3.2 NMEA-0183数据信息 295
12.4串口控制GPS模块的实验 296
12.4.1 MSComm控件属性 296
12.4.2添加MSComm控件 299
12.4.3添加串口事件消息处理函数OnComm() 299
12.4.4数据的接收与提取 301
12.4.5实验结果及数据的显示 304
12.5实践知识拓展 305
12.6思考与练习 306
第13章 串口控制云台摄像头 307
13.1云台摄像头 307
13.1.1云台简介 307
13.1.2摄像头及控制电路 309
13.2云台控制协议 310
13.3控制程序分析 312
13.3.1添加控件 313
13.3.2设置界面 313
13.3.3主控程序 315
13.3.4初始化 320
13.3.5配置按钮 325
13.3.6通信参数的设置 332
13.3.7云台控制命令 336
13.3.8旋转控制按钮和镜头控制按钮 341
13.4实践知识拓展 345
13.5思考与练习 346
第14章 智能报警系统 347
14.1系统描述 347
14.2系统分析与设计 348
14.3关键技术 348
14.3.1建立安防信息数据库 348
14.3.2端口设置和定时读取I/O端口数据 348
14.3.3判断是否有触发事件 349
14.3.4启动并口控制的报警设备 350
14.3.5根据设置拨打报警电话 351
14.3.6安防日志管理 351
14.3.7 I/O端口通信 352
14.4实现代码分析 353
14.4.1创建项目 353
14.4.2界面设计与实现 354
14.4.3加入数据库支持 360
14.4.4关键程序类的实现 361
14.5实践知识拓展 374
14.6思考与练习 375
第15章 语音自动应答系统 376
15.1功能介绍 376
15.1.1 TAPI介绍 376
15.1.2系统功能介绍 378
15.2设计流程实现 379
15.2.1程序设计流程图 379
15.2.2 TAPI 3.0方法介绍 380
15.2.3串处理分析介绍 381
15.3具体功能实现 382
15.3.1程序主界面 382
15.3.2参数配置 385
15.3.3选择语音界面 387
15.4实践知识拓展 387
15.5思考与练习 390
第16章USB转RS-232串口实例 391
16.1 USB总线技术简介 391
16.1.1 USB的特点 391
16.1.2 USB的体系结构 392
16.1.3 USB的电气特性 393
16.1.4 USB的数据通信协议 394
16.2功能描述 399
16.3 USB总线转换芯片CH341简介 399
16.3.1 CH341异步串口工作方式 400
16.3.2 CH341功能配置 403
16.4 USB转RS-232桥接器硬件设计 404
16.5驱动程序安装 406
16.6实践知识拓展 406
16.7思考与练习 407