pdf

Visual C++串口通信技术与编程实践

  • 1星
  • 日期: 2021-02-21
  • 大小: 11.39MB
  • 所需积分:0分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 串口

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单。

1 串行通信的基本概念

1.1 从电路到通信系统

1.1.1 应用信息论简要

1.1.2 串行通信的信源特性

1.1.3 串行通信的信道特性

1.2 计算机的数据接口

1.2.1 使用数据接口

1.2.2 计算机数据接口的发展

1.2.3 LPC总线与串口适配器

1.3 串行通信协议

1.3.1 为什么制定协议

1.3.2 OSI协议参考模型

1.3.3 一般模型与协议栈

1.3.4 串行通信协议

1.4 EIA  RS-232串行接口标准介绍

1.4.1 EIA  RS-232标准概述

1.4.2 电气特性

1.4.3 机械特性

1.4.4 信号线定义

1.4.5 串口近距离通信

1.4.6 串口通信的流控制

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

1.5.1 RS-422电气规定

1.5.2 RS-485电气规定

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

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

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

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

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

1.6 本章小结

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

2.1 8250兼容接口电路

2.1.1 8250兼容接口电路概述

2.1.2 8250的结构

2.1.3 8250的编程方法

2.2 8251A接口电路

2.2.1 8251A的外部特性

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

2.2.3 8251A的状态字

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

2.2.5 8251A应用举例

2.3 本章小结

3 在Windows  NT中搭建开发环境

3.1 准备工作

3.1.1 使用串口调试助手

3.1.2 双端口互联方案

3.1.3 单端口自联方案

3.1.4 使用USB-UART转换器

3.1.5 使用虚拟串口

3.2 使用Microsoft  Visual  C++

3.2.1 开发平台的选择

3.2.2 工程类型和开发流程

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

3.3 本章小结

4 使用Windows  API串口编程

4.1 Windows  API串口编程概述

4.1.1 不使用Windows  API

4.1.2 Windows  API初探

4.1.3 使用Windows  API进行串口开发

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

4.2.1 CreateFile函数——开启串口

4.2.2 CreateEvent函数——创建事件

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

4.2.4 WriteFile函数——发送数据

4.2.5 ReadFile函数——接收数据

4.2.6 WaitForSingleObject——等待事件信号

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

4.3 Windows通信API

4.3.1 DCB概述

4.3.2 流控制

4.3.3 传输超时

4.3.4 串口状态

4.4 本章小结

5 使用CSerial类

5.1 封装串口通信API

5.1.1 串口编程回顾

5.1.2 封装串口通信相关的API

5.1.3 封装方案

5.2 CSerial简介

5.2.1 概述

5.2.2 修改“Hello  World”程序

5.3 CSerial的串口事件

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

5.3.2 异步串口事件

5.4 Windows  GUI编程初探

5.4.1 函数指针与Windows  GUI

5.4.2 使用SDK开发Windows  GUI程序

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

5.4.4 使用MFC

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

5.5.1 向框架添加CSerial

5.5.2 设计应用程序界面

5.5.3 串口配置

5.5.4 数据的发送和接收

5.5.5 有关CSerialMFC的特别说明

5.6 本章小结

6 使用Qt进行串口编程

6.1 Qt简介

6.1.1 Qt的组成和特点

6.1.2 Qt的安装

6.1.3 Qt应用程序开发流程

6.1.4 获取帮助

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

6.2.1 Qt中的多线程编程

6.2.2 使用QextSerialPort——简单的实验

6.2.3 完善的串口通信程序

6.2.4 若干问题

6.3 本章小结

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

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

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

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

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

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

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

7.5.2 封面设计

7.5.3 主界面设计

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

7.6.1 系统调试出现的问题

7.6.2 系统的实现

7.7 本章小结

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

8.1 概述

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

8.2.1 F206  DSP处理器概述

8.2.2 总线结构

8.2.3 中央处理单元概述

8.2.4 存储器和I/O空间

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

8.3.1 同步串口的基本原理

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

8.3.3 各种信号

8.3.4 缓存器与寄存器

8.3.5 中断

8.3.6 查错

8.4 接收电路的设计

8.4.1 突发模式的接收

8.4.2 连续模式的接收

8.5 发送电路的设计

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

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

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

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

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

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

8.7.1 并行同步设计思想

8.7.2 多路并行帧同步系统

8.8 FIFO缓存器电路的设计

8.8.1 FIFO基本原理

8.8.2 通用FIFO的设计

8.8.3 同步串口中FIFO的设计

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

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

8.9.2 多通道选择电路的设计

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

8.11 本章小结

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

9.1 概述

9.2 设计芯片的软硬件选择

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

9.2.2 CT-xweb2000系统

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

9.2.4 RCM2200模块

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

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

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

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

9.3.3 Dynamic  C的特点

9.4 传输协议概述

9.5 串口传输协议的选择

9.5.1 XMODEM协议概述

9.5.2 XMODEM传输协议的实现函数

9.5.3 CHECKSUM校验方法

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

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

9.6.2 TFTP服务器和客户端概述

9.6.3 TFTP传输的初始连接

9.6.4 TFTP包

9.6.5 TFTP传输的正常终止

9.6.6 TFTP协议的实现

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

9.7.1 程序设计思想

9.7.2 程序实现

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

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

9.8.1 程序设计思想

9.8.2 程序实现

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

9.9 工程应用概述

9.10 本章小结

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

10.1 DNC技术概述

10.1.1 DNC技术的产生与发展

10.1.2 DNC数据采集的重要性

10.1.3 DNC数据采集的现状

10.2 DNC信息采集系统的功能

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

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

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

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

10.4.3 DNC数据采集的方法

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

10.5.1 系统总体结构

10.5.2 系统硬件组成

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

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

10.6.1 串口通信技术

10.6.2 宏指令采集

10.6.3 特殊程序上报采集

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

10.6.5 串口传输速度匹配

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

10.7.1 系统概述

10.7.2 数据库设计

10.7.3 串口通信实现

10.7.4 多线程的实现

10.7.5 数据采集的实现

10.7.6 信息发布实现

10.7.7 系统测试

10.7.8 系统的测试效果

10.8 本章小结

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

11.1 USB转RS-232桥接器概述

11.1.1 设备驱动的概念

11.1.2 USB技术特点

11.1.3 USB的广泛应用

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

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

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

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

11.2 USB总线技术介绍

11.2.1 USB系统拓扑结构

11.2.2 USB总线逻辑结构

11.2.3 传输协议

11.2.4 传输类型

11.2.5 设备框架

11.2.6 USB主机协议

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

11.3.1 系统整体结构

11.3.2 USB接口设计

11.3.3 UART设计

11.3.4 Buffer设计

11.3.5 FIFO设计

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

11.4.1 Windows驱动模型的发展

11.4.2 WDM驱动模型简介

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

11.4.4 确立开发方案

11.4.5 I/O请求包(IRP)

11.4.6 USB数据处理

11.4.7 内存分配策略

11.4.8 同步问题

11.4.9 使用推迟过程调用

11.4.10 使用完成例程

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

11.5.1 驱动程序入口例程

11.5.2 即插即用例程实现策略

11.5.3 分发例程实现策略

11.5.4 电源管理例程

11.5.5 卸载例程

11.6 驱动测试与安装

11.6.1 驱动测试

11.6.2 驱动的安装

11.7 本章小结

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

12.1 工业机器人概述

12.1.1 工业机器人的发展

12.1.2 工业机器人的应用

12.1.3 工业机器人技术概述

12.1.4 机器人控制技术概述

12.1.5 串行通信

12.1.6 实时控制系统

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

12.2.1 MOTOMAN  UP6的结构与性能

12.2.2 MOTOMAN  UP6机器人控制系统

12.2.3 MOTOMAN  UP6机器人运动参数

12.2.4 机器人虚拟样机技术

12.2.5 机器人运动仿真

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

12.3.1 系统总体结构和组成

12.3.2 机器人功能分析

12.3.3 通信协议分析

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

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

12.4 实时控制系统的实现

12.4.1 程序设计思路

12.4.2 编程语言及方法选择

12.4.3 Visual  C++环境配置

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

12.4.5 机器人的主要状态

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

12.4.7 机器人可执行文件格式

12.4.8 编程注意事项

12.4.9 系统软件发布

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

12.5.1 视频捕获

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

12.6 本章小结

更多简介内容

推荐帖子

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })