当前位置:首页 > 工业技术
Visual C++实践与提高 串口通信与工程应用篇
Visual C++实践与提高 串口通信与工程应用篇

Visual C++实践与提高 串口通信与工程应用篇PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:张筠莉,刘书智主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2006
  • ISBN:7113068162
  • 页数:438 页
图书介绍:本书围绕MSComm控件和WinAPI两种基本方法,对串口应用从多角度、多层面进行了广泛的讨论。针对各种应用,穿插使用这两种方式讲解编程的具体步骤和方法。
《Visual C++实践与提高 串口通信与工程应用篇》目录

第1章 串行通信原理与设计 1

1.1 串行通信基本概念 1

1.1.1 串行通信特点 1

1.1.2 串行通信传输方式 2

1.1.3 数据纠错与检错 2

1.1.4 传输速率与距离 3

1.2 串行传输协议 4

1.2.1 异步传输协议 4

1.2.2 面向字符的同步传输协议 5

1.2.3 面向比特的同步传输协议 7

1.3 串行接口标准 9

1.3.1 EIA RS-232C标准 9

1.3.2 RS-423A、RS-422A和RS-485标准 12

1.3.3 USB接口标准 14

1.4 串口硬件设计 15

1.4.1 串口应用设计流程 15

1.4.2 Windows下的串口资源 15

1.4.3 DCE与DTE设备的识别方法 16

1.4.4 握手处理 16

1.4.6 接地及隔离技术 17

1.4.5 RS-232C与RS-485接口转换 17

1.5 小结 20

第2章 使用MSComm控件编程 21

2.1 MSComm控件属性及事件 21

2.1.1 MSComm最常用的属性 21

2.1.2 与输入操作有关的属性 23

2.1.3 与输出操作有关的属性 24

2.1.4 与传输控制有关的属性 25

2.1.5 MSComm控件的事件 26

2.2 对不同类型数据的处理方法 26

2.2.2 使用MSComm控件发送与接收二进制数据 27

2.2.1 使用MSComm控件发送与接收字符串 27

2.3 MSComm错误处理方法 28

2.3.1 关于发送缓冲区 28

2.3.2 关于接收缓冲区 29

2.3.3 接收数据的实际处理方法 29

2.4 控件编程 30

2.4.1 加载及使用控件 31

2.4.2 初始化及打开串口 36

2.4.3 串口事件处理 37

2.5.2 界面设计 38

2.5.1 程序功能 38

2.5 通信编程实例 38

2.4.5 关于协议的问题 38

2.4.4 关闭串口 38

2.5.3 变量声明 40

2.5.4 创建串口 41

2.5.5 设置串口 42

2.5.6 打开串口 43

2.5.7 关闭串口 43

2.5.8 接收数据处理 44

2.7 小结 45

2.6 程序发布问题 45

2.5.9 实际传输文件截图 45

第3章 使用WinAPI串口编程 47

3.1 API串口编程概述 47

3.2 采用同步查询方式的编程方法 47

3.2.1 创建串口 48

3.2.2 关闭串口 53

3.2.3 发送数据 53

3.2.4 接收数据 53

3.2.5 定时接收数据的方法 54

3.3.1 定义全局变量 55

3.3.2 创建串口 55

3.3 采用重叠I/O方式的编程方法 55

3.3.3 发出读写操作 56

3.3.4 读写线程函数的建立 57

3.3.5 关闭串口 61

3.4 采用事件驱动方式的编程方法 61

3.4.1 定义全局变量 61

3.4.2 打开串口及开启事件线程 62

3.4.3 发送数据 64

3.4.4 自定义消息函数读取数据 65

3.5.1 程序功能 67

3.5 编程实例 67

3.4.5 关闭串口及关闭事件线程 67

3.5.2 界面设计 68

3.5.3 变量声明 69

3.5.4 设置串口 70

3.5.5 打开串口 72

3.5.6 关闭串口 73

3.5.7 发送字符 73

3.5.8 命令的有效性处理 74

3.5.9 实际字符传送截图 75

3.6 小结 76

4.1 多线程基本概述 77

4.1.1 线程与进程 77

第4章 多线程编程 77

4.1.2 何时使用多线程 78

4.1.3 多线程串口的应用 78

4.2 线程的操作 78

4.2.1 创建线程 78

4.2.2 终止线程 80

4.2.3 关于内存泄漏 81

4.3 线程间通信 81

4.3.1 使用全局变量 81

4.3.2 使用自定义消息 81

4.4.1 使用临界区(Critical Section) 82

4.4 线程同步 82

4.4.2 使用互斥对象(Mutex) 83

4.4.3 使用信号量(Semaphore) 84

4.4.4 使用事件(Event) 84

4.4.5 各种方法的比较 85

4.5 多线程串口程序设计 85

4.5.1 多线程的应用框架 85

4.5.2 相关的声明 86

4.5.3 创建线程 87

4.5.4 编写线程函数 87

4.5.6 线程的结束 88

4.5.5 编写消息响应函数 88

4.6 小结 89

第5章 TAPI编程 91

5.1 关于TAPI 91

5.1.1 什么是TAPI 91

5.1.2 Windows中的TAPI系统架构 91

5.1.3 Windows中的TAPI电话服务类型 92

5.2 TAPI 2.X介绍 93

5.2.1 基本概念 93

5.2.2 TAPI应用程序结构 93

5.2.3 常用函数介绍 94

5.3 CTapil4类介绍 98

5.3.1 变量/函数声明 98

5.3.2 初始化操作 100

5.3.3 创建函数 100

5.3.4 呼叫函数 101

5.3.5 回调函数处理方式 103

5.3.6 与回调相关的函数 103

5.3.7 处理呼叫状态的函数 105

5.3.8 处理连接状态的函数 108

5.3.9 挂机函数 109

5.3.10 通信状态显示函数 110

5.3.11 延时函数 111

5.4 使用CTapil4类的编程实例 111

5.4.1 程序功能 111

5.4.2 界面设计 111

5.4.3 CTapil4类的使用方法 112

5.4.4 变量/函数声明 113

5.4.5 电话操作函数 114

5.4.6 消息处理函数 115

5.4.8 实际使用截图 117

5.4.7 显示信息函数 117

5.5 小结 118

第6章 计算机与单片机通信 119

6.1 单片机的串口原理 119

6.1.1 串口结构 119

6.1.2 串口寄存器及中断 120

6.2 串行通信硬件设计 121

6.2.1 常用接口芯片介绍 121

6.2.2 接口电路 121

6.3 串行口通信参数设置 122

6.3.1 波特率的设置 122

6.3.3 通信协议约定 123

6.3.2 奇偶校验位的使用方法 123

6.4 单片机的串口编程方法 124

6.4.1 功能描述 124

6.4.2 通信协议 124

6.4.3 初始化串口及寄存器 124

6.4.4 编写中断服务程序 125

6.5 计算机界面设计 128

6.5.1 功能描述 128

6.5.2 界面设计 128

6.6 计算机端程序设计 129

6.6.1 头文件引用及变量声明 129

6.6.2 初始化控件 131

6.6.3 向单片机发出请求 132

6.6.4 在控件事件中接收数据 133

6.6.5 超时定时器的编程 140

6.6.6 关闭串口 141

6.7 小结 142

第7章 计算机与PLC通信 143

7.1 PLC的串口通信 143

7.1.1 PLC的通信方式 143

7.1.2 计算机与PLC通信流程 144

7.1.3 与通信相关的寄存器 144

7.1.4 与通信相关的指令 148

7.1.5 通信中断事件 149

7.1.6 通信中断指令 150

7.1.7 硬件连线及设置 151

7.1.8 PC/PPI电缆切换时间的影响 151

7.2 PLC通信编程 152

7.2.1 功能描述 152

7.2.2 通信协议 152

7.2.3 程序结构及变量说明 153

7.2.4 主程序 154

7.2.5 初始化 154

7.2.6 发送与接收处理 155

7.3.1 主界面设计 158

7.3 计算机界面设计 158

7.3.2 设置对话框设计 159

7.4 计算机程序设计 160

7.4.1 功能描述 160

7.4.2 变量/函数声明 160

7.4.3 初始化代码 161

7.4.4 参数配置 162

7.4.5 读串口操作 166

7.4.6 写串口操作 169

7.4.7 接收数据处理 172

7.4.8 命令有效性处理 178

7.4.9 实际传输数据截图 179

7.5 小结 180

第8章 计算机与Modem的通信 181

8.1 Modem的工作原理 181

8.1.1 Modem的基本工作原理 181

8.1.2 Modem的功能介绍 182

8.1.3 内置Modem与外置Modem 182

8.2 Modem的通信标准 183

8.2.1 调制协议 183

8.2.4 文件传输协议 184

8.2.3 数据压缩协议 184

8.2.2 差错控制协议 184

8.3 Modem的AT命令 185

8.3.1 Modem工作状态切换 185

8.3.2 AT命令串简介 187

8.3.3 常用基本AT命令分类 187

8.3.4 呼叫与应答相关命令 187

8.3.5 状态切换命令 190

8.3.6 握手相关命令 191

8.3.7 基本AT命令的简单测试方法 192

8.3.8 常用寄存器命令及寄存器含义 194

8.3.9 使用PSTN进行串行通信的工作流程 195

8.4 使用Modem远程传输文件程序设计 196

8.4.1 功能描述 196

8.4.2 通信流程 197

8.4.3 XModem通信协议 198

8.4.4 界面设计 199

8.4.5 变量声明 200

8.4.6 初始化 201

8.4.7 串口配置与操作 202

8.4.8 发送文件 204

8.4.9 接收文件 205

8.4.10 OnComm事件函数 206

8.4.11 建立超时定时器 228

8.5 小结 230

第9章 两台计算机向通信 231

9.1 通信方式介绍 231

9.2 通信协议 232

9.2.1 通信流程 233

9.2.2 数据包格式 233

9.3 通信实现思路 234

9.3.1 功能描述 234

9.3.3 各种操作状态的含义 235

9.3.2 通信事件的处理方法 235

9.4 界面设计 237

9.4.1 主界面设计 237

9.4.2 设置对话框设计 238

9.5 程序设计 239

9.5.1 变量/函数声明 239

9.5.2 初始化代码 241

9.5.3 参数配置 242

9.5.4 发送文件 246

9.5.5 事件消息响应函数 248

9.5.6 命令的有效性处理 267

9.5.7 自定义功能函数 269

9.5.8 程序测试 274

9.6 小结 274

第10章 软件传真机 275

10.1 传真的基本知识 275

10.1.1 工作原理 275

10.1.2 传真机的分类 276

10.1.3 传真机通信规程 277

10.2 关于传真精灵SmartFax 278

10.2.1 主要功能 278

10.2.2 发送传真函数 278

10.2.3 接收传真函数 281

10.2.4 其他功能函数 283

10.2.5 如何使用传真精灵 284

10.3 软件传真机程序设计 285

10.3.1 功能介绍 285

10.3.2 界面设计 286

10.3.3 关于头文件的引用 289

10.3.4 变量/函数声明 289

10.3.5 初始化操作 291

10.3.6 程序流程分析 293

10.3.7 关于TAPI操作的函数 296

10.3.8 发送传真相关函数 304

10.3.9 接收传真相关函数 306

10.3.10 传真消息响应函数OnSmartFax() 309

10.3.11 传真参数相关操作函数 317

10.3.12 其他功能函数 322

10.4 小结 324

第11章 计算机与射频卡通信 325

11.1 射频卡简介 325

11.1.1 射频卡工作原理 325

11.1.2 射频卡的分类 326

11.2 射频卡的应用框架 327

11.1.3 射频卡的优点 327

11.1.4 射频卡的应用 327

11.3 MIFARE卡介绍 328

11.3.1 TYPE A与TYPE B 328

11.3.2 TYPE A卡的初始化与防冲突 329

11.3.3 MIFARE 1型卡的存储结构 333

11.3.4 MIFARE 1型卡存取控制与数据区的关系 334

11.4 射频卡模块介绍 336

11.4.1 MCM200/MCM500概述 336

11.4.2 MCM200/MCM500接口简介 337

11.4.3 MCM200/MCM500读写操作过程 338

11.4.4 ZLG500A读写模块介绍 339

11.5 射频卡应用的设计 340

11.5.1 读写器成品的设计方法 340

11.5.2 使用射频卡模块的设计方法 340

11.6 小结 340

第12章 组态王的应用 341

12.1 组态王参数设置 341

12.1.1 RS-485板卡的使用方法 341

12.1.2 串口通信方式 342

12.2 组态王通信协议 346

12.2.1 寄存器定义 346

12.1.3 串口参数设置 346

12.2.2 读命令格式 347

12.2.3 写命令格式 347

12.2.4 命令格式中的符号说明 348

12.2.5 命令举例说明 349

12.3 组态王端的程序设计 350

12.3.1 程序功能 350

12.3.2 界面设计 350

12.3.3 KingComClient设备的设置 352

12.3.4 变量定义 352

12.4.1 功能描述 353

12.3.5 命令语言 353

12.4 计算机端的程序设计 353

12.4.2 界面设计 354

12.4.3 变量/函数声明 355

12.4.4 初始化代码 356

12.4.5 串口配置与操作 357

12.4.6 串口事件响应函数 361

12.4.7 自定义功能函数 368

12.4.8 模拟数值的产生 372

12.4.9 实际通信截图 372

12.5 小结 374

第13章 云台及镜头控制系统 375

13.1 云台及镜头的应用概况 375

13.1.1 数字监控系统概述 375

13.1.2 监控系统组成 375

13.2 如何控制云台与镜头 376

13.2.1 云台及镜头的设备简介 376

13.2.2 云台及镜头的控制原理 377

13.2.3 解码器概述 377

13.2.4 常用通信协议 377

13.3.1 硬件接线说明 378

13.3 串口控制云台和镜头程序设计 378

13.3.2 通信协议介绍 379

13.3.3 程序功能 380

13.3.4 界面设计 380

13.3.5 变量/函数声明 383

13.3.6 初始化操作 386

13.3.7 按下与弹起控制的实现方法 388

13.3.8 串口操作 407

13.3.9 发送数据 408

13.3.10 程序测试截图 417

13.4 小结 417

附录 串口调试 419

返回顶部