首页   个人书稿   串口通讯  VC/C编程   机器人控制 MATLAB
 
   
 

Visual C++/Turbo C

串口通信编程实践

作者:龚建伟 熊光明

2004年10月 电子工业出版社

  

 

 

 

 

 

 

 

 

 

 

有意购书?

  因这本书我准备在自己讲授的数据通信课程中作为辅助教材,我会向出版社购买一定数量的书,如果数量多,可以在价格上有所下浮,有意购买这本书的朋友可以向我联系购买

  可通过下面的邮箱联系(5本以下我不负责提供发票,太麻烦) 。

book@gjwtech.com

 

 

  为什么写这本书?

  应该说,自从建立这个个人主页,就有不少编辑约稿,但我总觉得自己能说出来的东西还有限,就一直没应允,但今年电子工业出版社编辑朱沐红老师多次和我商量,希望能将我积累的关于串口编程方面的东西整理出来,我也觉得自己经过这些年的知识积累,特别是朋友们访问主页后和我讨论串口编程中遇到的问题,还有许多朋友在使用串口调试助手后也和我讨论了不少问题,加之自己指导数据通信课程,在这些过程中,也觉得有必要将一些心得体会写出来。

  还有就是不少朋友向我要串口调助手的源程序,这次在作了一些改动后也一并放了进去。

  但写书过程是相当烦锁的,特别是每个章节的实例程序确实也需要花一些时间来调试,我尽量写得详细些,包括编程的每一个步骤,我希望初学者(即使是没有学习过VC编程或不了解C语言的读者)也能一步一步照着做出程序 ,我在教学活动活动中也把这些作为大学本科学生编程入门的实例,效果还是不错的,同学们既学会了VC和Turbo C编程,也掌握了数据通信编程的基本方法,在一定程度上做到了在项目工程实践中学习编程(我个人主张学习编程一定要有项目实践背景)。同时,对一些特别复杂的问题:如 多串口控制、复杂数据包的处理、不占用串口的串口数据截获、虚拟串口等内容,也作了讨论,这样,不论是“高手”,还是初学者,都能有所收获。

 

  购书方式

《Visual C++/Turbo C 串口通信编程实践》已印刷出来,定价55元/本,可以等到当地新华书店购买。我也可以代为购买(但5本以下我无法提供发票),购买事宜通知如下:

1.北京地区如果到北京理工大学求是楼411自已拿书,每本45元。

2.邮购每本49元(光盘内容通过邮件发送),其中包括邮费 。(因光盘邮寄有特殊规定,成本较高,内容压缩后不太大,可以通过EMAIL发送或自行下载)。

3.港台地区和国外读者可以向大型发行机构咨询购买,他们有相对通畅的出境销售渠道。


4.凡通过作者购书的读者,因为您的支持能使本书顺利出版,可以要求作者签名(你可以不要的),并会将现有的和以后出现的串口编程的相关资料(包括本书再版时增加的内容 ,目前本书在各地书店销售看好,我估计会有再版的可能,我现在也在考虑增加一些内容,以及gjwtech.com出现的源代码和资料)免费发给您。(VC/C的资料均收到了光盘内容中,不必再索要,以后有新资料我会主动发送)。

  如果自己拿书,请您在拿书时留下姓名和电子邮箱,以便日后联系。

汇款后请发来电子邮件。

  • 邮局汇款:
    地址: 北京理工大学机器人研究中心求是楼411 邮编:100081
    收款人:龚建伟

  • 招商银行一卡通(卡)

           帐号 0010 3750 4409    户名:龚建伟

 

   

EMAIL: book@gjwtech.com

 

内容提要与前言

本书从编程实践的角度详细介绍了Windows环境下和DOS环境下的串口通信的基本方法,并根据当前串口与网络结合发展的趋势,介绍了串口与网络TCP/IP、远程控制与监测相结合的一些解决方案和编程要点。

在本书写作中,作者有意识地重点介绍了一些应用简单但功能很强的类,如果读者不想花很多时间了解串口通信的底层,而急于在短时间内(1个小时?)完成编程任务,不管在WindowsDOS环境下,您应用这些类来解决问题无疑是最佳的选择。

本书共分三部分,第一部分是编程实例,包括前十章,从体验轻松的串口编程开始,有了一定的感性知识后,由浅入深地介绍了各种编程方法,并将一些串口通信的基础知识融入其中,使读者不知不觉中掌握了许多基本概念。考虑到当前DOS环境下的串口编程还应用很广,也深入地介绍了DOS环境下Turbo C的编程。串口与网络通信总是伴随着数据包的处理和存储,因此本书也介绍了各种协议的数据通信包处理实例。有不少编程知识在WindowsDOS环境下是通用的。串口通信与网络通信相结合是当前串口通信的发展趋势,本书中以具体产品实例介绍了串口网络化的解决方案。

第二部分为第11章,汇集了常用串行通信的基本概念和规范,介绍了各种接线匹配方法,将第一部分中分散的基础知识进行了总结。

第三部分为第12章,对不占用串口资源的串口数据截获和虚拟串口的编程进行了讨论。

在附录里介绍了Turbo C3.0/2.0的用法,列出了常用的ASCII码表。

最后作者强调一点,数据通信技术无论是串行通信还是网络通信,其本质内容都是类似的:数据处理及用户层的通信协议是一致的,学习过程中经常能做到触类旁通,这一点,我们在通信编程中要注意体会。

除署名作者外,本书第10.1节完全来自科脑工作室,还摘录了一些参考文献的内容,同时还得到了MOXA公司(http://www.moxa.com.cn)的串口联网产品信息和技术支持,在此谨表谢意。

作者近几年在自己的个人技术主页(http://www.gjwtech.com)中收到很多朋友的问题,部分典型的问题可以在本书中找到答案。

本书读者对象为从事串口及网络通信的技术人员和学习者,由于编程步骤详尽,初学VC/C(甚至是以前完全没有接触过VC)的读者也能很快编写出VC的串口通信程序,同时,本书也可以作为数据通信课程的辅助教材。

 

 

   

1章轻松体验串口通信编程与调试

1.1使用串口调试助手来体验串口通信

1.2 体验Windows环境下 Visual C++串口通信编程

1.3 体验DOS环境下 Turbo C串口通信编程

2 VC多线程串口编程工具CSerialPort

2.1 类功能及成员函数介绍

2.2 应用CSerialPort类编制基于对话框的应用程序

2.3 应用CSerialPort类编制基于单文档的应用程序

2.4CSerialPort类的改进

3 控件MSComm串口编程

3.1 MSComm控件详细介绍

3.1.1 VC中应用MSComm控件编程步骤

3.1.2 MSComm控件串行通信处理方式

3.1.3 MSComm 控件的属性说明

3.1.4 MSComm控件错误信息

3.2使用MSComm控件的几个疑难问题

3.2.1使用VARIANT SAFEARRAY 数据类型从串口读写数据

3.2.2 MSComm控件能离开对话框独立存在吗?

3.2.3 如何发送接收ASCII值为0和大于128的字符?

3.2.4 在同一程序中用MSComm控件控制多个串口的具体操作方法

3.2.5解决使用控件编程时程序占用的内存会不断增大的问题

3.2.6在没有安装Visual Studio的计算机上如何使用MSComm控件

3.2.7 MSComm控件串口编程时遇到的其它问题说明

33在基于单文档(SDI)程序中应用MSComm控件

3.4应用MSComm控件控制多个串口实例

4 Windows API串口编程

4.1 Windows API串口编程概述

4.2 API串口编程中用到的结构及相关概念说明

4.2.5 串行通信事件

4.2.4 通信错误与通信设备状态

4.2.3 OVERLAPPED异步I/O重叠结构

4.2.2超时设置COMMTIMEOUTS结构

4.2.1 DCBDevice Control Block)结构

4.3 Windows API串行通信函数

4.4 Win32 API串口通信编程的一般流程和特殊实例

4.4.1 Win32 API串口通信编程的一般流程

4.4.2 用查询方式读串口

4.4.3 同步I/O读写数据

4.4.4 关于流控制的设置问题

4.5 CSerialPort类中的API函数编程应用剖析

4.6 Win32 API串口编程TTY(虚拟终端)实例

5 串口调试助手V2.2详细编程

5.1 建立SCOMM程序工程实现界面功能

5.2 串口的初始化及关闭

5.3串口数据的发送与接收及十六进制数据的处理

5.3.1 十六进数据发送处理

5.3.2 手动发送处理

5.3.3自动发送处理

5.3.4 接收处理及十六进制显示

5.4 其它辅助功能的实现

5.4.1 接收数据的文件保存

5.4.2 实现小文件发送

5.4.3 图钉按钮功能使程序能浮在最上层

5.4.4 对话框动画图标的实现

5.4.5 超链接功能的实现

5.4.6 如何打开帮助网页文件

6 DOS环境下的Turbo C串口编程及通用实例GSerial

6.1 PC机异步通信适配器8250及其编程操作

6.1.1 INS8250内部寄存器及其选择方式

6.1.2 波特率设置

6.1.3 数据位、奇偶校验、停止位等数据格式设置

6.1.4查询I/O方式相关设置

6.1.5中断I/O通信方式相关设置

6.1.6 Modem寄存器

6.2 COMRXTX程序实例

6.3通用实例程序GSerial

6.4 GSerial类控制多串口

6.5 多串口编程PC机高号中断8259A可编程中断控制器的控制

7 串口通信用户层协议的编制与数据处理方法

7.1 通信协议的编制

7.1.1 为什么要编制用户通信协议

7.1.2串口通信中用户层协议编制原则

7.1.3 在串口通信中几种常用的用户层协议说明

7.2 串口通信数据包处理方法编程实例(多串口控制程序)

8 单片机串口通信

8.1 单片机串口硬件系统及C51程序开发

8.1.1较典型的单片机硬件系统实例

8.1.2 C51语言及程序简介

8.1.3开发C51程序的利器Keil C51 uVISION2及串口程序仿真

8.2 C51单片机串口通信程序实例

9 串口与网络结合的解决方案及编程

9.1串口与网络结合的硬件解决方案

9.2典型串口与网络联接设备介绍

9.2.1 NPort5400系列产品特点说明

9.2.2 NPort5400系列产品的典型应用介绍

9.3 与ACCESS数据库结合的串口通信实例

9.3.1微机网络检测系统说明

9.3.2 创建ODBC数据源

9.3.3 创建工程

 9.3.4 程序简介

9.4WinSock结合的串口通信实例

9.4.1 客户端Client应用程序

9.4.2 服务器Server应用程序

9.5 在已经编好的串口通信程序中加入网络通信功能

9.5.1参照MFC AppWizard创建WinSockets程序

9.5.2 利用Windows Sockets API和第三方提供的类进行编程

9.6串口通信用于遥控操作简例

10 计算机串口与其它设备通信编程实例

10.1通过串口收发短消息

10.1.1 SMS编码规范及编码与解码程序例程

10.1.2 AT命令收发短消息实例

10.1.3 实时接收短消息的方法

10.1.4 用串口收发SMS短信编程的一些讨论

10.2 计算机与Rabbit 2000嵌入式系统通信编程实例

10.2.1 Rabbit2000微处理器介绍

10.2.2 动态CDynamic C)语言介绍

10.2.3某车载无线调度系统实例介绍

10.3 计算机与PLC通信程序实例

10.4 MATLAB环境串口编程通信实例

10.4.1 MATLAB串口类Serial应用

10.4.2通过串口使MATLAB simulink与下位机通讯进行控制

10.4.3 xPC目标环境下串口通信实现

11 串口通信基本概念及标准

11.1 串口通信基本概念

11.1.1 串行通信概述

11.1.2 单工、半双工和全双工的定义

11.1.3 同步传送与异步传送

11.1.4串行通信协议

11.2 RS-232-C串口标准

11.2.1  RS-232-C标准

11.2.2 RS-232-C串行通信接线实例

11.3 RS-422/485串口标准

11.3.1 RS-422/485串口通信特点

11.3.2 RS-422RS-485串行接口标准

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

11.3.4  RS-232RS422RS485电气参数对比

11.4 串口调试注意事项

11.5 常用数据校验法

11.5.1奇偶校验

11.5.2 循环冗余码校验

11.6 串口连接和TCP/IP连接对比

11.7 现场总线与RS232RS485的本质区别

11.8 Modem通信技术

11.8.1 Modem的基本工作原理

11.8.2 Modem的功能

11.8.3 Modem的分类

11.8.4 Modem的安装

11.8.5 Modem V.92标准介绍

11.8.6 Modem的速度

11.8.7 modem优化方法

11.8.8 Modem命令/AT命令

12 不占用串口的串口数据捕捉   

12.1驱动程序的基本概念:VxDWDM    

12.2 VxD示例程序介绍-VToolsD中的CommHook      

12.3 串口数据捕捉实例程序      

12.4 虚拟串口简介      

 

1 TurboC++3.0/TurboC2.0的使用方法及安装注意事项

2 ASCII码表

转载本站原版内容,请注明作者并说明来自http://www.gjwtech.com   龚建伟技术主页