前言
RS-232/485串口通信总线是一种久远但目前仍常用的通信方式,早期的仪器、单片机、PLC等均使用串口与计算机进行通信,最初多用于数据通信中,随着工业测控行业的发展,许多测量仪器都带有RS-232串口总线接口。
因此,在计算机测控领域,串口通信编程是很多技术人员要面临的问题;在高校,有众多的理工科学生在学习串口通信编程技术,他们都迫切需要相关的书籍来帮助他们学习。
开发串口通信的编程语言很多,但应用最普遍、功能最强大的还是C语言,早期一般使用Turbo C,现在已很少使用,目前市面上流行的C语言是C++ Builder、Visual C++和LabWindows/CVI。
C++ Builder是Borland公司推出的一种基于面向对象程序设计语言的可视化集成编程工具,它具有专业C++开发环境所能提供的全部功能,实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。它的核心来自Delphi,使用的VCL类库和Delphi是完全一样的,其中VCL功能丰富,易于使用,并且完美地体现了面向对象的设计思想。C++ Builder具有编译速度快、IDE反应速度快、完全开放的VCL源代码、领先的数据库技术等优点,程序设计者可以利用C++ Builder完成许多高级应用开发,扩展空间几乎是无限的。
Visual C++是微软公司推出的一种面向对象的可视化集成编程工具,使用Visual C++可以胜任从最简单的用户界面程序到高级、复杂的Windows应用程序的编程工作。使用Visual C++编写的程序具有代码尺寸小、运行速度高和移植能力强等特点。Visual C++成为目前最受欢迎的开发工具之一,其中一个重要的原因是它有一个庞大而且功能齐全的MFC类库,该类库实现了对大多数Windows API的封装。在Visual C++6.0中既可以使用MFC完成大多数的工作,也可以调用Windows API函数完成更深层次的开发。
LabWindows/CVI是NI公司开发的Measurement Studio软件组中的一员,它是32位的面向计算机测控领域的虚拟仪器软件开发平台,可以在多操作系统下运行。LabWindows/CVI是以ANSI C为核心的交互式虚拟仪器开发环境,它将功能强大的C语言与测控技术有机地结合起来,具有灵活的交互式编程方法和丰富的库函数,为开发人员建立检测系统、自动测试环境、数据采集系统、过程监控系统等提供了理想的软件开发环境。
本书同时采用C++ Builder、Visual C++和LabWindows/CVI三种语言,通过PC与PC、PC与单片机、PC与智能仪器、PC与PLC、PC与GSM短信模块、PC与远程I/O模块等串口通信典型应用实例,使用多种方法(控件、库函数等)编写串口通信程序,使读者对C/C++语言编写串口通信程序有一个全面的认识。
本书内容丰富,结构清晰,文字叙述深入浅出,通俗易懂,以应用实践为主,突出程序设计,重在功能实现,有较强的实用性和可操作性。
书中提供的程序具有实际参考价值,全部在Windows XP环境下运行通过,并经过硬件系统测试,读者可以直接拿来使用或者稍加修改便可用于自己的项目设计中。
为了方便读者学习,本书提供配套光盘,内容包括源代码、教学视频以及软硬件资源等。
本书可作为高等院校计算机应用、测控技术、机电一体化、自动化等专业的研究生、本产生以及计算机测控系统研发的工程技术人员等学习C/C++串口通信编程技术的参考书。
本书由石河子大学曹卫彬、朱东芹、田敏、郑瑶、刘恩博、李江全编著。其中郑瑶负责基础篇(第1~2章)编写,朱东芹、田敏、刘恩博分别负责应用篇(第3~10章)中C++ Builder、Visual C++、LabWindows/CVI串口通信程序设计及操作步骤编写,曹卫彬教授负责统稿,李江全负责硬件系统搭建与测试。南京朝阳仪表、电子开发网等公司为本书提供了大量的技术支持,编者借此机会对他们致以深深的谢意。
编者要特别感谢石河子大学教材出版计划、新疆建设兵团高新技术研究发展计划对本书出版所做的支持和帮助。
由于编者水平有限,书中难免存在不妥或错误之处,恳请广大读者批评指正。
编者
2009年7月