文件名称:Serial Communications in Win32 (翻译版)
文件大小:105KB
文件格式:DOC
更新时间:2014-03-07 08:41:07
串口
摘要: 微软Win32下的串口通讯完全不同于Windows下16位的串口通讯,那些熟悉16位下串口通讯功能的将不得不去适当的重新学习许多Win32下串口通讯的系统部分,这篇文章将会帮助你完成这些。对串口通讯不熟悉的那些人通过这篇文章的学习将会为自己以后的研究发展奠定坚实的基础。 这篇文章主要以读者熟悉的多线程和Win32下的并行操作为例。除此之外,基于对Win 32堆栈功能的熟悉了解在理解内存管理机制中是非常有用的,比如这篇文章所提到的MTTTY。对于较多关于这些功能的信息,商议平台 SDK 文件的编写,微软公司Win32 SDK 知识 库 , 或微软公司网络开发者程序馆。那些控制用户接口和会话视窗的功能界面(APIs)尽管在这里并不做讨论,但是对于完全了解此篇文章提供的例子是非常有用的。对于不熟悉一般微软视窗操作系统的应该在学习串口通讯之前学习一些基本的微软程序设计。换句话说,在潜水之前先沾湿你的脚。 绪论: 这篇文章的焦点主要是应用程序设计界面(API)和微软公司兼容的方法上,Windows NT 和 Windows 95;因此,API在两个平台上的支持是唯一的探讨。Windows 95 支持 Win32,电话API(TAPI)和Windows NT 3.x不支持;因此,这里我们不讨论TAPI 。然而,TAPI 确实值得一提,它在调制解调器接口和呼叫控制中的应用是非常有用的。一个用调制解调器工作和电话程序应该实现这些TAPI 功能界面。这将允许用另一个TAPI应用程序接口与之紧密结合。此外,这篇文章不讨论Win32下象GetCommProperties的一些配置功能。 这篇文章从如下几段入手:打开串口、读写操作(非重叠和重叠)、串口状态(事件和错误)和串口设置(DCB,流量控制和通信超时)。 这篇文章所包含的例子MTTTY:多线程TTY诸多功能实现的讨论。它使用了三个线程来实现:一个内存管理用户界面的线程,一个控制所有写操作的线程,一个控制读和改变串口状态的线程。这个例子中的内存管理使用了一些不同的数据堆。它也广泛的利用同步方法促进线程间的通信。 ..................... ....................