分享
 
 
 

Visual C++串口通信开发入门与编程实践(C/C++开发专家)

Visual C++串口通信开发入门与编程实践(C/C++开发专家)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,C语言及其相关,
  品牌: 周韧研

基本信息·出版社:电子工业出版社

·页码:485 页

·出版日期:2009年

·ISBN:7121082691/9787121082696

·条形码:9787121082696

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:中文

·丛书名:C/C++开发专家

产品信息有问题吗?请帮我们更新产品信息。

内容简介《VisualC++串口通信开发入门与编程实践》着重介绍计算机串口通信的硬件原理、软件开发和工程实例。《VisualC++串口通信开发入门与编程实践》从通信原理和工程实现出发,结合示例讲述使用串口进行通信的原理和开发技术。全书共分12章,第1、2章从电路和通信电子设备角度出发,详细讲解串行通信的理论基础和物理实现;第3~6章介绍在通用计算机(PC)的Windows环境下如何进行串口通信软件的开发,包括使用Windows API、C++串口类以及Qt串口类等;第7~12章以工程中的6个实例为蓝本,介绍Windows平台下串行接口开发与嵌入式设备串口通信开发的相关技术。

书中源代码和项目设计代码请到www.fecit.com.cn的“下载专区”中下载。

《VisualC++串口通信开发入门与编程实践》的编写者具有计算机接口设备开发及软件开发的大量经验。《VisualC++串口通信开发入门与编程实践》适合于对电子电路和计算机体系有初步了解,但对软件开发掌握不多的读者作为自学用书,也可以作为自动化、电气、工控、机械等领域有相关需求的工程人员的参考书。

作者简介周韧研,清华大学电子的工程学士。现就读清华大学微电子学研究所博士生,从事片上系统(SoC)和集成电路设计的研究工作,负责并参与多个国家自然科学基金项目。在嵌入式硬件电路设计、嵌入式网络通信方面具有多年的项目开发经验,熟悉PPC和ARM体系结构,精通Visual C串口通信编程。

商斌,北京理工大学软件工程硕士。4年外企研发工作经验,6年嵌入式系统编程经验,精通嵌入式系统通信接口开发,具备扎实的理论功底,发表SCI论文3篇。曾赴德国4所著名高校、研究所交流方向,已出版《嵌入式Linux C语言开发入门与编程实践》、《Linux设备驱动开发入门与编程实践》等多部技术书籍。

编辑推荐《VisualC++串口通信开发入门与编程实践》着重介绍计算机串口通信的硬件原理、软件开发和工程实例。案例式教学,丰富的项目实例+详尽的代码+完整的注解.全书讲解由浅入深、通俗易懂、注重实践,是一本不可多得的程序员手册。《VisualC++串口通信开发入门与编程实践》作者具有计算机接口设备开发以及软件开发的大量经验。配套代码免去烦琐输入代码的工作,提高学习效率。

与初学者探讨Visual C++串口通信开发技术,每一步都有详尽说明;案例式教学,丰富的项目实例+详尽的代码+完整的注解;倡导轻松、快捷编程的程序员必务手册;Visual C++串口通信开发入门、进阶的“一指神功”。

目录

第1章 串行通信的基本概念 1

1.1 从电路到通信系统 2

1.1.1 应用信息论简要 2

1.1.2 串行通信的信源特性 8

1.1.3 串行通信的信道特性 9

1.2 计算机的数据接口 12

1.2.1 使用数据接口 13

1.2.2 计算机数据接口的发展 14

1.2.3 LPC总线与串口适配器 17

1.3 串行通信协议 19

1.3.1 为什么制定协议 19

1.3.2 OSI协议参考模型 20

1.3.3 一般模型与协议栈 20

1.3.4 串行通信协议 23

1.4 EIA-RS232串行接口标准介绍 28

1.4.1 EIA-RS232标准概述 28

1.4.2 电气特性 30

1.4.3 机械特性 32

1.4.4 信号线定义 35

1.4.5 串口近距离通信 39

1.4.6 串口通信的流控制 41

1.5 RS-422与RS-485串行接口标准 45

1.5.1 RS-422电气规定 46

1.5.2 RS-485电气规定 47

1.5.3 RS-422与RS-485的网络安装注意要点 48

1.5.4 RS-422与RS-485传输线上匹配的一些说明 49

1.5.5 RS-422与RS-485的接地问题 50

1.5.6 RS-422与RS-485的网络失效保护 51

1.5.7 RS-422与RS-485的瞬态保护 52

1.6 本章小结 53

第2章 异步串行通信接口电路简介 55

2.1 8250兼容接口电路 56

2.1.1 8250兼容接口电路概述 56

2.1.2 8250的结构 57

2.1.3 8250的编程方法 58

2.2 8251A接口电路 76

2.2.1 8251A的外部特性 76

2.2.2 8251A的内部结构和编程模型 77

2.2.3 8251A的状态字 79

2.2.4 8251A的方式命令和工作命令的使用 79

2.2.5 8251A应用举例 79

2.3 本章小结 81

第3章 在Windows NT中搭建开发环境 83

3.1 准备工作 84

3.1.1 使用串口调试助手 84

3.1.2 双端口互联方案 84

3.1.3 单端口自联方案 85

3.1.4 使用USB-UART转换器 85

3.1.5 使用虚拟串口 86

3.2 使用Microsoft Visual C++ 88

3.2.1 开发平台的选择 89

3.2.2 工程类型和开发流程 89

3.2.3 Hello World——第一个串口通信程序 90

3.3 本章小结 95

第4章 使用Windows API串口编程 97

4.1 Windows API串口编程概述 98

4.1.1 不使用Windows API 98

4.1.2 Windows API初探 100

4.1.3 使用Windows API进行串口开发 102

4.2 同步和异步I/O——基本的4.2 读写问题 104

4.2.1 CreateFile函数——开启串口 104

4.2.2 CreateEvent函数——创建事件 105

4.2.3 Overlapped结构——异步模式信息的表达 106

4.2.4 WriteFile函数——发送数据 107

4.2.5 ReadFile函数——接收数据 107

4.2.6 WaitForSingleObject——等待事件信号 108

4.2.7 一个同步和异步I/O例子 108

4.3 Windows通信API 114

4.3.1 DCB概述 114

4.3.2 流控制 117

4.3.3 传输超时 118

4.3.4 串口状态 121

4.4 本章小结 128

第5章 使用CSerial类 129

5.1 封装串口通信API 130

5.1.1 串口编程回顾 130

5.1.2 封装串口通信相关的API 131

5.1.3 封装方案 133

5.2 CSerial简介 134

5.2.1 概述 134

5.2.2 修改“Hello World”程序 134

5.3 CSerial的串口事件 143

5.3.1 监听器:串口事件的响应 143

5.3.2 异步串口事件 149

5.4 Windows GUI编程初探 154

5.4.1 函数指针与Windows GUI 154

5.4.2 使用SDK开发Windows GUI程序 156

5.4.3 资源、对话框和对话框模板 162

5.4.4 使用MFC 169

5.5 使用CSerial和MFC编写串口通信程序 174

5.5.1 向框架添加CSerial 174

5.5.2 设计应用程序界面 176

5.5.3 串口配置 178

5.5.4 数据的发送和接收 184

5.5.5 有关CSerialMFC的特别说明 187

5.6 本章小结 187

第6章 使用Qt进行串口编程 189

6.1 Qt简介 190

6.1.1 Qt的组成和特点 190

6.1.2 Qt的安装 190

6.1.3 Qt应用程序开发流程 194

6.1.4 获取帮助 213

6.2 使用Qt开发串口通信程序 213

6.2.1 Qt中的多线程编程 213

6.2.2 使用QextSerialPort——简单的实验 221

6.2.3 完善的串口通信程序 228

6.2.4 若干问题 240

6.3 本章小结 241

第7章 Windows下双机点到点串行通信系统设计与开发 243

7.1 Windows下双机的串行通信系统简介 244

7.2 Windows下双机点到点的串行通信系统的用户需求 244

7.3 Windows下双机的串行通信系统的分析 244

7.4 利用UML为本工程实例建模 245

7.5 Windows下双机的串行通信系统设计概述 247

7.5.1 系统模块图与面向对象方法介绍 248

7.5.2 封面设计 249

7.5.3 主界面设计 252

7.6 Windows下双机的串行通信系统的调试与实现 262

7.6.1 系统调试出现的问题 262

7.6.2 系统的实现 263

7.7 本章小结 263

第8章 16位高速DSP增强型同步串口的设计 265

8.1 概述 266

8.2 F206 DSP处理器体系结构分析 266

8.2.1 F206 DSP处理器概述 266

8.2.2 总线结构 268

8.2.3 中央处理单元概述 269

8.2.4 存储器和I/O空间 272

8.3 增强型同步串口的系统及设计 273

8.3.1 同步串口的基本原理 274

8.3.2 同步串口基本操作结构图 275

8.3.3 各种信号 275

8.3.4 缓存器与寄存器 276

8.3.5 中断 277

8.3.6 查错 277

8.4 接收电路的设计 280

8.4.1 突发模式的接收 280

8.4.2 连续模式的接收 281

8.5 发送电路的设计 282

8.5.1 利用内部帧同步的突发模式传送 283

8.5.2 利用外部帧同步的突发模式传送 284

8.5.3 利用内部帧同步的连续模式传送 285

8.5.4 利用外部帧同步的连续模式传送 286

8.6 接收与发送电路的实现与研究 286

8.7 同步串口中帧同步的设计 287

8.7.1 并行同步设计思想 288

8.7.2 多路并行帧同步系统 288

8.8 FIFO缓存器电路的设计 289

8.8.1 FIFO基本原理 289

8.8.2 通用FIFO的设计 290

8.8.3 同步串口中FIFO的设计 291

8.9 同步串口中特殊功能的设计 293

8.9.1 内部时钟和帧同步电路的设计 293

8.9.2 多通道选择电路的设计 294

8.10 同步串口中的状态寄存器 296

8.11 本章小结 297

第9章 串口与以太网数据传输实现 299

9.1 概述 300

9.2 设计芯片的软硬件选择 301

9.2.1 嵌入式网络模块DSLC-SOM-01 301

9.2.2 CT-xweb2000系统 302

9.2.3 ZNE-100T增强型嵌入式以太网转串口模块 303

9.2.4 RCM2200模块 305

9.2.5 各开发包的优缺点及其最终选择 306

9.3 Rabbit开发包和编程工具Dynamic C简介 306

9.3.1 Rabbit微处理器结构图与Rabbit2000特点介绍 307

9.3.2 RCM2200系统结构与详细技术参数 309

9.3.3 Dynamic C的特点 310

9.4 传输协议概述 311

9.5 串口传输协议的选择 312

9.5.1 XMODEM协议概述 313

9.5.2 XMODEM传输协议的实现函数 313

9.5.3 CHECKSUM校验方法 314

9.6 以太网口传输协议的选择与实现 316

9.6.1 网络传输协议的选择和UDP协议 316

9.6.2 TFTP服务器和客户端概述 317

9.6.3 TFTP传输的初始连接 318

9.6.4 TFTP包 318

9.6.5 TFTP传输的正常终止 319

9.6.6 TFTP协议的实现 320

9.7 串口到以太网口传输文件的实现 321

9.7.1 程序设计思想 321

9.7.2 程序实现 322

9.7.3 串口到以太网口文件传输源程序 323

9.8 以太网口到串口传输文件的实现 331

9.8.1 程序设计思想 331

9.8.2 程序实现 332

9.8.3 以太网口到串口文件传输源程序 332

9.9 工程应用概述 340

9.10 本章小结 341

第10章 基于串口的DNC信息采集系统的开发 343

10.1 DNC技术概述 344

10.1.1 DNC技术的产生与发展 344

10.1.2 DNC数据采集的重要性 345

10.1.3 DNC数据采集的现状 346

10.2 DNC信息采集系统的功能 346

10.3 DNC信息采集系统的底层设备接口 347

10.4 DNC数据采集系统通信技术 348

10.4.1 DNC数据采集系统的内部通信技术概述 349

10.4.2 DNC数据采集系统的外部通信技术概述 351

10.4.3 DNC数据采集的方法 352

10.5 基于串口的DNC信息采集系统的总体设计 354

10.5.1 系统总体结构 355

10.5.2 系统硬件组成 355

10.5.3 系统软件组成及主要功能 356

10.6 DNC信息采集系统相关技术 358

10.6.1 串口通信技术 358

10.6.2 宏指令采集 359

10.6.3 特殊程序上报采集 364

10.6.4 采集数据处理与信息发布 365

10.6.5 串口传输速度匹配 366

10.7 基于串口的DNC信息采集系统设计和开发 367

10.7.1 系统概述 367

10.7.2 数据库设计 367

10.7.3 串口通信实现 369

10.7.4 多线程的实现 369

10.7.5 数据采集的实现 370

10.7.6 信息发布实现 372

10.7.7 系统测试 374

10.7.8 系统的测试效果 377

10.8 本章小结 378

第11章 Windows XP下USB转RS-232桥接器驱动程序开发 379

11.1 USB转RS-232桥接器概述 380

11.1.1 设备驱动的概念 380

11.1.2 USB技术特点 380

11.1.3 USB的广泛应用 381

11.1.4 USB在嵌入式设备中的应用 383

11.1.5 计算机常用外部总线比较 383

11.1.6 USB转RS-232桥接器发展现状 385

11.1.7 USB转RS-232桥接器驱动发展现状 385

11.2 USB总线技术介绍 386

11.2.1 USB系统拓扑结构 386

11.2.2 USB总线逻辑结构 388

11.2.3 传输协议 388

11.2.4 传输类型 394

11.2.5 设备框架 399

11.2.6 USB主机协议 402

11.3 USB转RS-232桥接器硬件设计 404

11.3.1 系统整体结构 404

11.3.2 USB接口设计 406

11.3.3 UART设计 407

11.3.4 Buffer设计 409

11.3.5 FIFO设计 409

11.4 桥接器驱动模型分析与实现机制 411

11.4.1 Windows驱动模型的发展 412

11.4.2 WDM驱动模型简介 412

11.4.3 基于WDM模型的桥接器驱动框架设计 414

11.4.4 确立开发方案 418

11.4.5 I/O请求包(IRP) 418

11.4.6 USB数据处理 420

11.4.7 内存分配策略 421

11.4.8 同步问题 422

11.4.9 使用推迟过程调用 424

11.4.10 使用完成例程 425

11.5 桥接器驱动程序重点例程设计 426

11.5.1 驱动程序入口例程 426

11.5.2 即插即用例程实现策略 428

11.5.3 分发例程实现策略 432

11.5.4 电源管理例程 438

11.5.5 卸载例程 438

11.6 驱动测试与安装 438

11.6.1 驱动测试 438

11.6.2 驱动的安装 440

11.7 本章小结 441

第12章 串口通信在机器人实时控制中的应用开发 443

12.1 工业机器人概述 444

12.1.1 工业机器人的发展 444

12.1.2 工业机器人的应用 445

12.1.3 工业机器人技术概述 446

12.1.4 机器人控制技术概述 447

12.1.5 串行通信 449

12.1.6 实时控制系统 450

12.2 MOTOMAN UP6工业机器人系统介绍 450

12.2.1 MOTOMAN UP6的结构与性能 451

12.2.2 MOTOMAN UP6机器人控制系统 451

12.2.3 MOTOMAN UP6机器人运动参数 452

12.2.4 机器人虚拟样机技术 453

12.2.5 机器人运动仿真 454

12.3 实时控制系统的总体分析 455

12.3.1 系统总体结构和组成 455

12.3.2 机器人功能分析 456

12.3.3 通信协议分析 456

12.3.4 RS-232C的不足之处及修正方案 457

12.3.5 机器人控制系统的图像监控 458

12.4 实时控制系统的实现 459

12.4.1 程序设计思路 459

12.4.2 编程语言及方法选择 460

12.4.3 Visual C++环境配置 462

12.4.4 通信参数设置与建立连接 463

12.4.5 机器人的主要状态 463

12.4.6 机器人通信功能模块及其具体实现 464

12.4.7 机器人可执行文件格式 480

12.4.8 编程注意事项 481

12.4.9 系统软件发布 482

12.5 控制系统中图像监控的实现 482

12.5.1 视频捕获 482

12.5.2 多线程编程技术在图像监控中的运用 483

12.6 本章小结 485

……[看更多目录]

序言计算机的体系接口是计算机体系中的重要组成部分,体系接口的发展也是计算机技术发展的一个重要标志。计算机体系接口复杂多样,在它的发展过程中,总有一些接口在慢慢消失,又有一些接口在不断出现。在当代,主流的体系接口有PCI/PCI-E接口、USB 1.0/2.0、百兆位以太网等,新兴接口还有蓝牙、USB 3.0、吉位以太网、光纤等。这些体系接口都能够提供通用计算机与包括嵌入式系统在内的非计算机电子设备之间进行通信的功能。

无论是主流的体系接口还是新兴的体系接口,其传输速度和传输可靠性都使得传统体系接口(并口、串口)不能望其项背。但与此同时,这些接口的复杂性也是传统体系接口所不能比拟的。这体现在两个方面:一个是下位设备,也就是与通用计算机通信的设备的复杂性。通常,为了支持诸如以太网或者USB的接口,要么需要专业的硬件或者嵌入式软件开发者投入大量的精力进行开发、验证和维护,要么花费资金购买相应的硬件授权(IP核)或者接口芯片,硬件(嵌入式软件)的复杂性必然带来各种硬件开销(硬件量、功耗等)的增加。另一个是通用计算机上软件的复杂性。对支持以太网或者USB通信的软件的开发,由于体系本身的复杂性,程序员需要拥有相当的知识储备和过硬的调试能力。

考察在科研和生产中所使用的电子电气设备和与通用计算机的交互状态,我们发现,有相当一部分设备并不需要主流或者新兴计算机体系接口所提供的大吞吐量,而是往往对通信的实时性有特别的要求。显然,对于这样的情况,使用主流或者新兴计算机体系接口就不合适。嵌入式设备,特别是嵌入式计算机系统,都希望能够通过一种简单、可靠、高实时性的接口与通用计算机通信,而且,在通用计算机上运行的软件也要易于开发和调试。作者认为,正是由于这个需求的存在,是通用计算机上的异步串行通信接口(UART)能够保留到现在的原因。

文摘插图:

Visual C++串口通信开发入门与编程实践(C/C++开发专家)

因此,在“Hello World”中所使用的标准库开发方法掩盖了操作系统的实际功能,这对我们的学习是不利的。

4.1.2 Windows API初探

Windows API是Windows操作系统的编程接口,它以C语言库的形式提供给开发者。这个库包含了必要的头文件和库文件,和一些小工具组合在一起,构成了Windows SDK。用户可以从Microsoft网站获取单独的Windows SDK。Visual C++包含了当时最稳定的SDK。

对于绝大多数系统核心的功能实现在于操作系统本身,而并不包含在Windows SDK中。在SDK中只以引导库的方式提供了这些功能函数的符号链接。例如,CreateFile函数的符号存在于kernel32.1ib中,在链接的过程中应用程序包含CreateFile的符号,当应用程序运行时,通过符号的引导调用系统kernel32.dll中所对应的函数。

显式地(这里指不通过标准库等迂回的方式)使用绝大多数Windows API,尤其是核心Windows API,只需要包含头文件Windows.h。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有