目录 1
第1章 串行通信基础 1
1.1 串行传输与并行传输 1
1.1.1 并行通信 1
1.1.2 串行通信 1
1.2 串行通信方式 2
1.2.1 单工形式 2
1.2.2 半双工形式 2
1.2.3 全双工形式 2
1.3 异步传输与同步传输 3
1.3.1 异步传输 3
1.3.2 同步传输 4
1.4 传输速率 6
1.4.1 数据传输速率 6
1.4.2 数据信号速率 7
1.4.3 调制速率 7
1.4.4 DTE/DCE速率 7
1.5 串行通信数据的发送 7
1.6 异步通信数据的接收 8
1.7 握手与缓冲存储器 9
1.7.1 硬件握手 9
1.7.2 软件握手 11
1.7.3 硬件和软件结合的握手方法 12
1.7.4 缓冲存储器 12
1.8 差错检测 13
1.8.1 奇偶校验 14
1.8.2 循环校验码(CRC) 14
1.9 信号的调制与解调 15
1.9.1 调制解调工作原理 15
1.9.2 调制解调器 15
第2章 计算机中的串行端口 19
2.1 查看串行端口信息 19
2.2 串行端口的中断及地址 21
2.2.1 查看计算机内的中断 22
2.2.2 计算机内设备的地址 23
2.2.3 查看计算机内的地址 23
2.2.4 串行端口的地址及寄存器 24
第3章 接收器/发送器 26
3.1 通用异步接收发送器(UART) 26
3.1.1 可编程串行通信接口8250 26
3.1.2 NS16550 UART 37
3.2 8251通用同步/异步接收器发送器 40
3.3 UART编程 45
3.3.1 轮询和中断触发 45
3.3.2 UART设置 48
3.3.3 软件检测UART类型 49
第4章 RS-232基础 51
4.1 RS-232的机械特性 51
4.3 RS-232信号特性 54
4.2 RS-232电气特性 54
4.4 RS-232信号改变要求 55
4.5 RS-232接口连接器 56
4.5.1 DB-25型连接器 57
4.5.2 DB-9型连接器 57
4.6 特殊的RS-232器件 58
4.7 RS-232的连接 58
4.7.1 远距离通信 58
4.7.2 近距离通信 60
4.8 电缆 62
4.8.2 屏蔽电缆 63
4.8.3 双绞线 63
4.8.1 非屏蔽电缆 63
4.8.4 同轴电缆 64
4.8.5 扁平电缆 64
4.8.6 光纤 65
4.8.7 RS-232使用的电缆 66
4.9 RS-232绝缘的连接 66
第5章 RS-232电路设计 69
5.1 TTL和CMOS逻辑电压 69
5.2 MAX232 69
5.2.1 收发器的历史 69
5.2.2 MAX232工作电路 70
5.2.3 MAX232的详细说明 70
5.3.1 电源电压 72
5.3 RS-232收发器的进一步说明 72
5.3.2 传输速率 74
5.3.3 ESD保护 75
5.3.4 自动关闭 75
5.3.5 Ⅵ引脚 76
5.3.6 与RS-232标准的兼容与一致 76
5.4 降低RS-232系统中的供电电流 78
5.4.1 单一+3.3V供电 78
5.4.2 极限的挑战:低于3.0V供电电压 78
5.4.3 兼容而不完全满足RS-232标准 80
5.4.4 典型Data-Cable应用 81
5.5.2 电路 82
5.5 利用RS-232串口供电 82
5.5.1 PC串口鼠标 82
5.5.3 用RS-232端口电源驱动继电器 84
5.6 常见问题解答 85
第6章 RS-422/RS-485接口 93
6.1 RS-422/RS-485标准 93
6.1.1 RS-422与RS-485的由来 93
6.1.2 标准概述 94
6.1.3 RS-485电气规定 96
6.1.4 RS-422与RS-485的网络安装 97
6.1.5 RS-422与RS-485传输线上的匹配 98
6.1.6 RS-422与RS-485的接地问题 99
6.1.7 RS-422与RS-485的网络失效保护 100
6.1.8 RS-422与RS-485的瞬态保护 101
6.2 RS-232接口到RS-422/RS-485接口的转换 102
6.3 基于RS-485接口的通信 103
第7章 使用MSComm控件编程基础 105
7.1 MSComm控件 105
7.1.1 引用MSComm通信控件 105
7.1.2 MSComm控件的属性 106
7.1.3 MSComm控件的事件 109
7.1.4 串口数据接收方式 109
7.1.5 利用MSComm控件的通信步骤 111
7.2.1 窗体设计 112
7.2 用MSComm控件编写简单通信程序 112
7.2.2 功能设计 113
7.3 串行端口的数字输出与输入 116
7.3.1 数字输出 116
7.3.2 数字输入 117
7.3.3 编程实例 117
7.4 用VB访问串口的通用程序代码 125
7.5 常见问题解答 138
第8章 用Visual Basic实现Basic Stamp微控制器串口通信 140
8.1 VB实现Basic Stamp串口通信程序设计 141
8.2 电路实现 141
8.4 代码实现 142
8.3 流量控制协议 142
第9章 调制解调器的控制 156
9.1 Modem通信的规则和标准 156
9.1.1 Modem状态 156
9.1.2 AT命令 157
9.1.3 S寄存器 163
9.2 Modem的控制 165
9.2.1 Modem的使用 165
9.2.2 Modem编程 167
第10章 基于C的串口编程 176
10.1 DOS下基于中断的编程 176
10.1.1 中断驱动 176
10.1.2 程序说明 181
10.2 Windows下利用定时器实现串口通信控制 185
10.2.1 概述 185
10.2.2 Windows定时器 186
10.2.3 实现与应用 186
10.3 Win32编程 189
10.3.1 端口操作 190
10.3.2 串行状态 196
10.3.3 串口设置 204
10.4 多线程与串行通信 212
10.4.1 多任务、进程和线程 212
10.4.2 线程的同步 215
10.4.3 实现与应用 219
第11章 串口调试精灵 235
11.1 简介 235
11.2 具体实现 235
11.2.1 搭建程序框架结构 235
11.2.2 代码分析 238
第12章 TAPI编程 255
12.1 概述 255
12.2 TAPI基础 256
12.2.1 TAPI基本概念 256
12.2.2 TAPI原理 257
12.2.3 TAPI通信过程 259
12.3 TAPI电话服务 260
12.3.1 TAPI辅助电话服务 260
12.3.2 全电话API 261
12.4 TAPI编程示例 276
第13章 USB系统体系 292
13.1 概述 292
13.1.1 发展历史 292
13.1.2 USB的特点及应用 293
13.2 体系结构 294
13.2.1 系统描述 294
13.2.2 物理接口 295
13.2.4 总线协议 296
13.2.3 电源 296
13.2.5 健壮性 297
13.2.6 系统设置 297
13.2.7 数据流种类 298
13.2.8 USB设备 298
13.2.9 USB主机——硬件和软件 300
13.3 USB数据流模型 301
13.3.1 实现者的视图 301
13.3.2 总线拓扑 302
13.3.3 USB通信流 304
13.3.4 传送类型 307
14.1.1 发展背景 313
14.1.2 主要技术规范 313
14.1 概述 313
第14章 IEEE 1394体系 313
14.1.3 技术特点 314
14.1.4 应用 315
14.2 线缆和连接器 316
14.2.1 连接器 316
14.2.2 线缆特征 318
14.3 通信模型 320
14.3.1 概述 320
14.3.2 传送类型 322
14.3.3 协议层 323
参考文献 332