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

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

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:刘书智编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2011
  • ISBN:9787113136024
  • 页数:540 页
图书介绍:本书系统地介绍了使用Visual C++开发串口应用程序的方法。全书以串口应用为主线,由浅入深,详细讲解了使用MSComm控件和使用WinAPI两种方式开发串口应用程序的方法。对这两种方式的应用,分别就不同的应用要求,作了详细的剖析。在此基础上,随后介绍了计算机和各种设备之间进行串口通信的编程。内容包括计算机与单片机、PLC、Modem、射频卡、GPS,及两台计算机之间的通信编程方法。
《Visual C++串口通信与工程应用实践》目录

第1篇Visual C﹢﹢开发基础篇 2

第1章Visual C﹢﹢集成开发环境 2

1.1 Visual C﹢﹢6.0概述 2

1.2安装Visual C﹢﹢6.0集成环境 2

1.3 Visual C﹢﹢6.0界面介绍 5

1.3.1工作区窗口和输出窗口 6

1.3.2菜单栏和工具栏 7

1.3.3编辑区 7

1.3.4联机帮助 7

1.3.5第一个程序 8

1.3.6 Visual C﹢﹢中的文件扩展名 8

1.4小结 9

第2章C﹢﹢语言基础 10

2.1.个简单的C﹢﹢程序 10

2.1.1创建一个空的工程 10

2.1.2添加C﹢﹢源文件 11

2.1.3添加代码 11

2.1.4编译并运行程序 12

2.2 C﹢﹢的基本数据类型及数据 13

2.2.1基本数据类型 13

2.2.2变量 13

2.2.3常量 14

2.3 C﹢﹢的运算符及表达式 15

2.3.1表达式 15

2.3.2运算符 15

2.3.3运算符的优先级 18

2.4 C﹢﹢的语句控制 19

2.4.1 C﹢﹢的输入/输出 19

2.4.2选择语句 20

2.4.3循环语句 24

2.4.4其他语句 27

2.5小结 28

第3章C﹢﹢的面向对象 29

3.1类与对象 29

3.1.1面向对象思想 29

3.1.2类的声明 30

3.1.3成员函数的定义 31

3.1.4类与对象的关系 31

3.1.5对象的声明和实例化 31

3.1.6构造函数和析构函数 33

3.2 C﹢﹢类的继承和派生 34

3.2.1派生类的声明 34

3.2.2派生类的继承方式 35

3.2.3单一继承和多重继承 37

3.3 C﹢﹢的多态性 38

3.3.1多态的分类 38

3.3.2运算符重载 38

3.3.3虚函数 40

3.3.4纯虚函数 41

3.4小结 42

第4章C﹢﹢输入/输出 43

4.1 C﹢﹢的基本流类体系 43

4.1.1输入/输出流的概念 43

4.1.2输入/输出标准流类 44

4.2输入/输出格式控制 45

4.3标准设备的输入/输出 47

4.4文件的输入/输出 49

4.4.1文件的概念 49

4.4.2标准库文件函数输入/输出 50

4.4.3文件输入/输出流 51

4.5重载插入和提取运算符 55

4.6小结 57

第5章 异常处理 58

5.1异常的概念 58

5.2异常处理机制 59

5.2.1 throw语法 59

5.2.2 try块语法 59

5.2.3 catch语法 59

5.2.4异常处理过程及实例 60

5.3异常处理中的构造与析构 63

5.4异常和继承 65

5.5标准C﹢﹢库中的异常类 68

5.6小结 69

第2篇 串口开发关键技术篇 72

第6章 串行通信原理与设计 72

6.1串行通信基本概念 72

6.1.1串行通信特点 72

6.1.2串行通信传输方式 73

6.1.3数据纠错与检错 73

6.1.4传输速率与距离 74

6.2串行传输协议 75

6.2.1异步传输协议 75

6.2.2面向字符的同步传输协议 76

6.2.3面向比特的同步传输协议 78

6.3串行接口标准 79

6.3.1 EIA RS-232C标准 79

6.3.2 RS-423A、RS-422A和RS-485标准 82

6.3.3 USB接口标准 84

6.4串口硬件设计 85

6.4.1串口应用设计流程 85

6.4.2 Windows下的串口资源 85

6.4.3 DCE与DTE设备的识别方法 86

6.4.4握手处理 86

6.4.5 RS-232C与RS-485接口转换 87

6.4.6接地及隔离技术 87

6.5小结 89

第7章 串口调试 90

7.1硬件调试 90

7.2软件调试 90

7.2.1软件调试方法 90

7.2.2调试的原则 91

7.2.3有效减少调试时间 91

7.3虚拟串口软件 93

7.4串口调试软件 93

7.4.1功能描述 94

7.4.2界面设计 94

7.4.3变量/函数声明 96

7.4.4初始化代码 97

7.4.5串口配置与操作 99

7.4.6接收数据 101

7.4.7发送数据 102

7.4.8超时定时器 105

7.4.9改进的建议 106

7.5使用串口调试软件 106

7.5.1使用方法 106

7.5.2单片机程序测试实例 107

7.6小结 108

第8章 使用MSComm控件编程 109

8.1 MSComm控件属性及事件 109

8.1.1 MSComm最常用的属性 109

8.1.2与输入操作有关的属性 111

8.1.3与输出操作有关的属性 112

8.1.4与传输控制有关的属性 113

8.1.5 MSComm控件的事件 114

8.2对不同类型数据的处理方法 115

8.2.1使用MSComm控件发送与接收字符串 115

8.2.2使用MSComm控件发送与接收二进制数据 116

8.3 MSComm错误处理方法 117

8.3.1关于发送缓冲区 117

8.3.2关于接收缓冲区 117

8.3.3接收数据的实际处理方法 118

8.4控件编程 118

8.4.1加载及使用控件 119

8.4.2初始化及打开串口 124

8.4.3串口事件处理 125

8.4.4关闭串口 126

8.4.5关于协议的问题 126

8.5通信编程实例 126

8.5.1程序功能 126

8.5.2界面设计 126

8.5.3变量声明 127

8.5.4创建串口 129

8.5.5设置串口 129

8.5.6打开串口 130

8.5.7关闭串口 131

8.5.8接收数据处理 131

8.5.9实际传输文件截图 132

8.6程序发布问题 132

8.7小结 132

第9章 使用WinAPI串口编程 133

9.1 API串口编程概述 133

9.2采用同步查询方式的编程方法 133

9.2.1创建串口 134

9.2.2关闭串口 139

9.2.3发送数据 139

9.2.4接收数据 139

9.2.5定时接收数据的方法 140

9.3采用重叠I/O方式的编程方法 141

9.3.1定义全局变量 141

9.3.2创建串口 141

9.3.3发出读写操作 142

9.3.4读写线程函数的建立 143

9.3.5关闭串口 146

9.4采用事件驱动方式的编程方法 147

9.4.1定义全局变量 147

9.4.2打开串口及开启事件线程 147

9.4.3发送数据 150

9.4.4自定义消息函数读取数据 151

9.4.5关闭串口及关闭事件线程 153

9.5编程实例 153

9.5.1程序功能 153

9.5.2界面设计 153

9.5.3变量声明 155

9.5.4设置串口 155

9.5.5打开串口 158

9.5.6关闭串口 158

9.5.7发送字符 159

9.5.8命令的有效性处理 159

9.5.9实际字符传送截图 160

9.6小结 161

第10章 多线程编程 162

10.1多线程基本概述 162

10.1.1线程与进程 162

10.1.2何时使用多线程 163

10.1.3多线程串口的应用 163

10.2线程的操作 163

10.2.1创建线程 163

10.2.2终止线程 165

10.2.3关于内存泄漏 166

10.3线程间通信 166

10.3.1使用全局变量 166

10.3.2使用自定义消息 166

10.4线程同步 167

10.4.1使用临界区(Critical Section) 167

10.4.2使用互斥对象(Mutex) 168

10.4.3使用信号量(Semaphore) 169

10.4.4使用事件(Event) 169

10.4.5各种方法的比较 170

10.5多线程串口程序设计 170

10.5.1多线程的应用框架 170

10.5.2相关的声明 171

10.5.3创建线程 171

10.5.4编写线程函数 172

10.5.5编写消息响应函数 173

10.5.6线程的结束 173

10.6小结 174

第11章 TAPI编程 175

11.1关于TAPI 175

11.1.1什么是TAPI 175

11.1.2 Windows中的TAPI系统架构 175

11.1.3 Windows中的TAPI电话服务类型 176

11.2 TAP12.X介绍 177

11.2.1基本概念 177

11.2.2 TAPI应用程序结构 177

11.2.3常用函数介绍 177

11.3 CTapi 14类介绍 182

11.3.1变量/函数声明 182

11.3.2初始化操作 184

11.3.3创建函数 184

11.3.4呼叫函数 184

11.3.5回调函数处理方式 186

11.3.6与回调相关的函数 186

11.3.7处理呼叫状态的函数 189

11.3.8处理连接状态的函数 191

11.3.9挂机函数 192

11.3.10通信状态显示函数 193

11.3.11延时函数 194

11.4使用CTapi 14类的编程实例 194

11.4.1程序功能 194

11.4.2界面设计 195

11.4.3 CTapi 14类的使用方法 195

11.4.4变量/函数声明 196

11.4.5电话操作函数 198

11.4.6消息处理函数 198

11.4.7显示信息函数 200

11.4.8实际使用截图 200

11.5小结 201

第3篇 串口开发典型应用篇 204

第12章 计算机与单片机通信 204

12.1单片机的串口原理 204

12.1.1串口结构 204

12.1.2串口寄存器及中断 205

12.2串行通信硬件设计 206

12.2.1常用接口芯片介绍 206

12.2.2接口电路 206

12.3串行口通信参数设置 207

12.3.1波特率的设置 207

12.3.2奇偶校验位的使用方法 208

12.3.3通信协议约定 208

12.4单片机的串口编程方法 209

12.4.1功能描述 209

12.4.2通信协议 209

12.4.3初始化串口及寄存器 209

12.4.4编写中断服务程序 209

12.5计算机界面设计 212

12.5.1功能描述 213

12.5.2界面设计 213

12.6计算机端程序设计 213

12.6.1头文件引用及变量声明 214

12.6.2初始化控件 215

12.6.3向单片机发出请求 216

12.6.4在控件事件中接收数据 217

12.6.5超时定时器的编程 224

12.6.6关闭串口 225

12.7小结 226

第13章 计算机与PLC通信 227

13.1PLC的串口通信 227

13.1.1 PLC的通信方式 227

13.1.2计算机与PLC通信流程 228

13.1.3与通信相关的寄存器 228

13.1.4与通信相关的指令 232

13.1.5通信中断事件 233

13.1.6通信中断指令 233

13.1.7硬件连线及设置 234

13.1.8 PC/PPI电缆切换时间的影响 235

13.2 PLC通信编程 235

13.2.1功能描述 236

13.2.2通信协议 236

13.2.3程序结构及变量说明 236

13.2.4主程序 237

13.2.5初始化 238

13.2.6发送与接收处理 238

13.3.计算机界面设计 241

13.3.1主界面设计 241

13.3.2设置对话框设计 242

13.4计算机程序设计 242

13.4.1功能描述 242

13.4.2变量/函数声明 243

13.4.3初始化代码 244

13.4.4参数配置 244

13.4.5读串口操作 248

13.4.6写串口操作 252

13.4.7接收数据处理 255

13.4.8命令有效性处理 260

13.4.9实际传输数据截图 262

13.5小结 262

第14章 两台计算机间通信 263

14.1通信方式介绍 263

14.2通信协议 264

14.2.1通信流程 264

14.2.2数据包格式 265

14.3通信实现思路 266

14.3.1功能描述 266

14.3.2通信事件的处理方法 266

14.3.3各种操作状态的含义 267

14.4界面设计 268

14.4.1主界面设计 268

14.4.2设置对话框设计 270

14.5程序设计 271

14.5.1变量/函数声明 271

14.5.2初始化代码 272

14.5.3参数配置 273

14.5.4发送文件 277

14.5.5事件消息响应函数 279

14.5.6命令的有效性处理 298

14.5.7自定义功能函数 300

14.5.8程序测试 305

14.6小结 305

第15章 软件传真机 306

15.1传真的基本知识 306

15.1.1工作原理 306

15.1.2传真机的分类 307

15.1.3传真机通信规程 308

15.2关于传真精灵SmartFax 309

15.2.1主要功能 309

15.2.2发送传真函数 309

15.2.3接收传真函数 312

15.2.4其他功能函数 314

15.2.5如何使用传真精灵 316

15.3软件传真机程序设计 316

15.3.1功能介绍 317

15.3.2界面设计 317

15.3.3关于头文件的引用 319

15.3.4变量/函数声明 320

15.3.5初始化操作 322

15.3.6程序流程分析 324

15.3.7关于TAPI操作的函数 326

15.3.8发送传真相关函数 334

15.3.9接收传真相关函数 337

15.3.10传真消息响应函数 339

15.3.11传真参数相关操作函数 347

15.3.12其他功能函数 352

15.4小结 354

第16章 计算机与射频卡通信 355

16.1射频卡简介 355

16.1.1射频卡工作原理 355

16.1.2射频卡的分类 356

16.1.3射频卡的优点 356

16.1.4射频卡的应用 357

16.2射频卡的应用框架 357

16.3 MIFARE卡介绍 358

16.3.1 TYPE A与TYPE B 358

16.3.2 TYPE A卡的初始化与防冲突 359

16.3.3 MIFARE l型卡的存储结构 362

16.3.4 MIFARE 1型卡存取控制与数据区的关系 364

16.4射频卡模块介绍 365

16.4.1 MCM200/MCM500概述 366

16.4.2 MCM200/MCM500接口简介 366

16.4.3 MCM200/MCM500读写操作过程 367

16.4.4 ZLG500A读写模块介绍 368

16.5射频卡应用的设计 368

16.5.1读写器成品的设计方法 368

16.5.2使用射频卡模块的设计方法 369

16.6小结 369

第17章 组态王的应用 370

17.1组态王参数设置 370

17.1.1 RS-485板卡的使用方法 370

17.1.2串口通信方式 371

17.1.3串口参数设置 374

17.2组态王通信协议 375

17.2.1寄存器定义 375

17.2.2读命令格式 376

17.2.3写命令格式 376

17.2.4命令格式中的符号说明 377

17.2.5命令举例说明 377

17.3组态王端的程序设计 378

17.3.1程序功能 378

17.3.2界面设计 379

17.3.3 KingComClient设备的设置 380

17.3.4变量定义 380

17.3.5命令语言 381

17.4计算机端的程序设计 381

17.4.1功能描述 381

17.4.2界面设计 381

17.4.3变量/函数声明 383

17.4.4初始化代码 384

17.4.5串口配置与操作 385

17.4.6串口事件响应函数 388

17.4.7自定义功能函数 395

17.4.8模拟数值的产生 399

17.4.9实际通信截图 400

17.5小结 401

第4篇 串口开发综合实例篇 404

第18章 云台及镜头控制系统 404

18.1 云台及镜头的应用概况 404

18.1.1数字监控系统概述 404

18.1.2监控系统组成 404

18.2如何控制云台与镜头 405

18.2.1云台及镜头的设备简介 405

18.2.2云台及镜头的控制原理 405

18.2.3解码器概述 406

18.2.4常用通信协议 406

18.3串口控制云台和镜头程序设计 407

18.3.1硬件接线说明 407

18.3.2通信协议介绍 407

18.3.3程序功能 409

18.3.4界面设计 409

18.3.5变量/函数声明 412

18.3.6初始化操作 414

18.3.7按下与弹起控制的实现方法 416

18.3.8串口操作 435

18.3.9发送数据 436

18.3.10程序测试截图 445

18.4小结 445

第19章GPS监控系统 446

19.1 GPS监控系统概况 446

19.1.1 GPS监控系统概述 446

19.1.2 GPS监控系统的系统架构 447

19.2如何获取GPS信息 449

19.2.1 GPS的工作原理 449

19.2.2 GPS接收机 450

19.2.3 GPS模块简介 451

19.2.4 GPS性能指标 451

19.3 GPS数据通信协议NMEA0183 452

19.3.1配置参数及协议格式 452

19.3.2 NMEA0183标准语句 452

19.3.3 GARMIN定义的语句 455

19.3.4 NMEA0183协议的TEXT文本格式 457

19.4串口接收GPS信息程序设计 458

19.4.1实例背景 458

19.4.2硬件接线说明 458

19.4.3 GPS模块与串口的通信协议 459

19.4.4程序功能 459

19.4.5界面设计 459

19.4.6结构声明 461

19.4.7初始化操作 464

19.4.8 GPS数据接收的实现方法 466

19.4.9 GPS数据解析的实现方法 470

19.4.10多线程串口工作方式 480

19.4.11发送命令 489

19.4.12结束清理 491

19.4.13地图支持 491

19.4.14程序测试截图 493

19.5小结 494

相关图书
作者其它书籍
返回顶部