目 录
前言
致谢
第一章 RS—232概述
1. 1 RS—232标准
1. 2 标准省略的结果
1. 3 ASCII码——另一种RS—232-C吗
1. 4 ASCII码的问题
1. 5 DTE和DCE
1. 6 RS—232:物理接口
1. 6. 1 信号格式
1. 6. 2 数据线
1. 6. 3 标记和间隔
1. 6. 4 控制线
1. 6. 5 电线
1. 7 RS—232—C规范的限制
1. 8 电缆
1. 8. 1 空调制解调器电缆
1. 8. 2 更合理的电缆设计
1. 8. 3 RS—2329到25针适配器
1. 8. 4 自制电缆
1. 8. 5 Macintosh电缆
1. 8. 6 使用电缆的建议
1. 9 UART
1. 9. 1 8250系列产品
1. 9. 2 UART的发展
1. 9. 3 8250的功能
1. 9. 4 控制寄存器
1. 9. 5 状态寄存器
1. 9. 6 中断功能
1. 9. 7 16550的不同点
1. 9. 8 16550的子代产品
1. 10 多端口板
1. 11 智能多端口板
1. 12 调制解调器
1. 12. 1 数据速率
1. 12. 2 智能
1. 12. 3 握手
1. 13 流控制
1. 13. 1 硬件流控制
1. 13. 2 软件流控制
1. 13. 3 本地流控制与直通流控制
1. 14 文件传输
1. 15 软件和硬件工具
1. 15. 1 PC机软件
1. 15. 2 BBS软件
1. 15. 3 编程库
1. 15. 4 商业化工具
1. 15. 5 电统制作设备
1. 16 什么是Internet
1. 17 小结
第二章 RS232类
2. 1 为什么使用C++
2. 1. 1 试用C语言
2. 1. 2 分析方法的弊端
2. 1. 3 用函数指针调度
2. 1. 4 将函数指针组成结构
2. 1. 5 为什么使用C++
2. 2 RS232类
2. 2. 1 一些约定
2. 2. 2 默认参数
2. 2. 3 强制函数和可选函数
2. 2. 4 哪里是构造函数
2. 3 RS232类的各个成员
2. 3. 1 保护成员
2. 3. 2 保护成员函数
2. 3. 3 公共数据成员
2. 3. 4 强制虚拟函数
2. 3. 5 非虚拟函数
2. 3. 6 短小的例程
2. 3. 7 可选函数
2. 4 代码
2. 5 小结
第三章 PC8250类
3. 1 8250UART
3. 1. 1 8250寄存器集
3. 1. 2 8250的兼容芯片
3. 1. 3 8250设计的扩展
3. 1. 4 8250的特别之处
3. 2 标准COM板卡
3. 2. 1 便携机的特点
3. 2. 2 PC机的中断方式
3. 2. 3 硬件基础
3. 3 PC8250驱动程序结构
3. 3. 1 中断服务例程
3. 3. 2 Isr data结构
3. 3. 3 ISR程序代码
3. 3. 4 PC8250. CPP
3. 4 支持类
3. 4. 1 队列软件包
3. 4. 2 中断管理程序软件包
3. 5 测试程序
3. 6 小结
第四章 共享中断设备
4. 1 多端口板
4. 1. 1 中断线共享—状态寄存器
4. 1. 2 选择IRQ线和地址
4. 2 Handler类
4. 3 Digi C1assic板中断处理程序
4. 3. 1 构造函数
4. 3. 2 析构函数
4. 4 CHAPT04. CPP
4. 4. 1 头文件总结
4. 4. 2 变量和常量
4. 4. 3 加入标准处理程序
4. 4. 4 打开端口和窗口
4. 4. 5 建立并运行程序
4. 5 MS—DOS下的多任务
4. 6 小结
第五章 智能多端口板
5. 1 硬件
5. 1. 1 自由设计
5. 1. 2 程序控制
5. 2 软件接口
5. 3 DigiIntemationalAPI
5. 3. 1 函数0:初始化端口(BIOS兼容)
5. 3. 2 函数1:输出字符(BIOS兼容)
5. 3. 3 函数2:输入字符(BIOS兼容)
5. 3. 4 函数3:读入线和调制解调器的状态(BIOS兼容)
5. 3. 5 函数4:初始化扩展端口(EBIOS兼容)
5. 3. 6 函数5:扩展端口控制(EBIOS兼容)
5. 3. 7 函数6, 子函数0:获得端口名
5. 3. 8 函数6, 子函数1:获得驱动程序信息
5. 3. 9 函数6, 于函数2:获得板卡信息
5. 3. 10 函数6, 子函数0xff:获得驱动程序名
5. 3. 11 函数7:发送中断
5. 3. 12 函数8:改变状态检查
5. 3. 13 函数9:清除端口缓冲区
5. 3. 14 函数0x0A:输入缓冲区记数
5. 3. 15 函数0x0B:去掉端口的握手线
5. 3. 16 函数0x0C:获得端口参数
5. 3. 17 函数0x0D:获得字符就绪标志的指针
5. 3. 18 函数0x0E:写缓冲区
5. 3. 19 函数0x0F:读缓冲区
5. 3. 20 函数0x10:清除RX缓冲区
5. 3. 21 函数0x11:清除TX缓冲区
5. 3. 22 函数0x12:释放TX缓冲区的空间
5. 3. 23 函数0x13:提高端口的握手线
5. 3. 24 函数0X14:查看字符
5. 3. 25 函数0x15:获得RX缓冲区中的空间
5. 3. 26 函数0x1B:获得缓冲区大小和水位标志
5. 3. 27 函数0x1C:设置握手水标志
5. 3. 28 函数0x1E:设置握手
5. 3. 29 函数0x20:打开/关闭BIOS调步
5. 3. 30 函数0xFD:获得缓冲区的记数
5. 4 INT14驱动程序函数小结
5. 5 配置智能板
5. 6 配置端口
5. 7 实现DigiBoard类
5. 8 代码
5. 9 CHAPT05. EXE
5. 10 小结
第六章 BIOS和EBIOS类
6. 1 BIoS细节
6. 1. 1 函数0:初始化端口(BIoS)
6. 1. 2 函数1:输出字符(BI0S)
6. 1. 3 函数2:输入字符(BI0S)
6. 1. 4 函数3:读入线路和调制解调器状态(BIOS)
6. 1. 5 函数4:扩充的端口初始化(EBIOS)
6. 1. 6 函数5, 子函数0:读取调制解调器控制寄存器(EBIOS)
6. 1. 7 函数5, 子函数1:写入调制解调器控制寄存器(EBIOS)
6. 2 问题
6. 3 代码
6. 4 继承性
6. 5 测试BIOS类
6. 6 小结
第7章 FOSSIL接口
7. 1 历史
7. 2 FOSSIL技术要求说明
7. 2. 1 函数0:初始化端口(BIOS)
7. 2. 2 函数1:传送单一字节(BIOS)
7. 2. 3 函数2:获取接收的字符(BIOS)
7. 2. 4 函数3:读取状态寄存器(BIOS)
7. 2. 5 函数4:打开串口
7. 2. 6 函数5:关闭端口
7. 2. 7 函数氏控制DTR
7. 2. 8 函数8:刷新TX缓冲区
7. 2. 9 函数9:清除输入缓冲区
7. 2. 10 函数0x0A:清除输出缓冲区
7. 2. 11 函数0x0B:立即发送
72. 12 函数0x0C:查看单字符
72. 13 函数0x0F:选择流控制
7. 2. 14 函数0x18:读取缓冲区
7. 2. 15 函数0x19:写入缓冲区
7. 2. 16 函数0x1A:中断控制
7. 2. 17 函数0x1B:获取FoSSI乙驱动程序信息
7. 3 信号源
7. 4 源代码
7. 5 编译CHAPT07. ExE
7. 6 测试运行
7. 7 小结
第八章 终端仿真
8. 1 如何创建测试程序
8. 2 为什么要仿真终端
8. 3 转义序列
8. 3. 1 终端智能
8. 3. 2 转义序列的发展
8. 4 ANSl. SYS
8. 4. 1 ANSl. SYS转义序列
8. 4. 2 ANS1. SYS键盘序列
8. 5 终端类
8. 6 测试程序
8. 7 AnsiTerminal类
8. 8 调试挂钩
8. 9 BaSeWindow类
8. 10 TextWindow类
8. 11 生成测试程序
8. 12 小结
第九章 Win16驱动程序
9. 1 Windows编程
9. 2 Microsoft Windowsl6位设备驱动程序
9. 3 通信API
9. 4 综合应用
9. 5 Win16测试程序
9. 6 生成Test232w. EXE
9. 7 小结
第十章 Win32通信API
10. 1 Win32编程的不同之处
10. 1. 1 作为文件对象的通信端口
10. 1. 2 产生必要的线程
10. 2 Win32设备驱动程序
10. 2. 1 数据结构
10. 2. 2 通信API
10. 3 小结
第十一章 Win32Port类
11. 1 Win32Port类
11. 1. 1 MTTTY. C———按实例进行存档
11. 1. 2 线程结构和约定
11. 1. 3 输出线程
11. 1. 4 输入线程
11. 1. 5 通知
11. 1. 6 类成员概述
11. 1. 7 辅助类———JbITDeque
11. 1. 8 辅助类———1Dcb
11. 2 Win32下的IdleFunction
11. 2 小结
第十二章 Win32Test程序
12. 1 CHAPTl2. EXE———基于控制台的测试程序
12. 1. 1 基于对话框的控制面板
12. 1. 2 定制的派生类
12. 2 源代码
12. 3 小结
第十三章 Win32终端仿真
13. 1 终端窗口类
13. 1. 1 需求
13. 1. 2 C什与Windows
13. 1. 3 Win32Term——基本的内部函数
13. 2 Win32类——定义
13. 2. 1 私有类
13. 2. 2 数据成员
13. 2. 3 公共代码成员
13. 2. 4 保护代码成员
13. 3 集成Win32Term与AnsiTerm
13. 3. 1 AnsiWinTerm类
13. 3. 2 AnsiWinTenn和Win32Port类
13. 3. 3 AnsiWinTerm RX通知
13. 3. 4 AnsiWinTerm和AnsiTerm类
13. 3. 5 AnsiWinTerm清单
13. 4 本章演示程序
13. 4. 1 菜单命令
13. 4. 2 源代码
13. 5 改进建议
13. 6 小结
第十四章 在MS—DOS下使用调制解调器
14. 1 调制解调器标准的冲突
14. 1. 1 硬件标准
14. 1. 2 软件标准
14. 1. 3 今天的调制解调器
14. 2 调制解调器的功能
14. 2. 1 创建功能项
14. 2. 2 Modem类
14. 2. 3 公共接口
14. 2. 4 保护成员
14. 3 测试程序
14. 4 生成TSTMODEM. CPP
14. 5 小结
第十五章 在Win32下使用调制解调器—TAPI
15. 1 TAPI的历史
15. 2 TAPI概述
15. 2. 1 TAPI通知方法
15. 2. 2 同步与异步函数
15. 2. 3 TAPI对象
15. 2. 4 TAPI的麻烦之处
15. 3 本章使用的TAPI函数
15. 3. 1 TAPI初始化和关闭
15. 3. 2 线路控制
15. 3. 3 呼叫配置
15. 3. 4 呼叫控制
15. 3. 5 回调函数
15. 4 SimpleTapi类
15. 4. 1 类管理和状态
15. 4. 2 呼叫及线路管理/配置
15. 4. 3 通知函数
15. 4. 4 重要的内部函数
15. 4. 5 调试的注意事项
15. 4. 6 改进缺点
15. 4. 7 类Tapi32Port———最后的细节
15. 5 CHAPTl5. EXE演示程序
15. 5. 1 SimpleTapi集成
15. 5. 2 源代码
15. 6 小结
第十六章 文件传输与ZMODEM
16. 1 协议的历史
16. 1. 1 进入ZMODEM
16. 1. 2 选择ZMODEM的原因
16. 2 ZMODEM概述
16. 2. 1 ZMODEM帧类型
16. 2. 2 头格式
16. 2. 3 数据子包格式
16. 2. 4 编码
16. 2. 5 其他事项
16. 3 文件传输
16. 4 FileTransfer类
16. 5 Zmodem类
16. 6 测试程序
16. 7 CRC类
16. 8 源代码
16. 9 小结
附录 本书光盘内容
词汇表
本书光盘安装指导