没有合适的资源?快使用搜索试试~ 我知道了~
首页Win32串口通信-Serial Communications In Win32(修订版)
资源详情
资源评论
资源推荐
WIN32 串口通信
微软技术文档
Zcube
zcube@qq.com
摘要
学习 Win32 中的串口通信和 16 位 Windows 操作系统中的串口通信有很大的不同。
这篇文章假设读者已经熟悉 Win32 下多线程和同步的基本原理。
·i·
目录
WIN32 中的串行通信 ........................................................................................................................................ 1
综述 ............................................................................................................................................................... 1
引言 ............................................................................................................................................................... 1
打开串口 ...................................................................................................................................................... 2
读和写 ........................................................................................................................................................... 3
非重叠 I/O ............................................................................................................................................ 3
重叠 I/O ................................................................................................................................................ 3
读 ........................................................................................................................................................... 4
写 ........................................................................................................................................................... 6
串行状态 ...................................................................................................................................................... 9
通信事件 .............................................................................................................................................. 9
告诫..................................................................................................................................................... 12
错误处理和通信状态 ....................................................................................................................... 14
调制解调器状态(又名:线状态) .............................................................................................. 16
扩展的功能 ........................................................................................................................................ 16
串行设置 .................................................................................................................................................... 17
DCB 设置 ........................................................................................................................................... 17
流控制 ................................................................................................................................................ 20
硬件流控制 ........................................................................................................................................ 20
软件流控制 ........................................................................................................................................ 21
通信超时 ............................................................................................................................................ 23
小结 ............................................................................................................................................................. 25
参考文献 .................................................................................................................................................... 26
·1·
WIN32 中的串行通信
艾伦 戴夫
微软 Windows 开发者支持中心
1995/12/11
应用于:
Microsoft® Win32®
Microsoft Windows®
摘要:学习 Win32 中的串口通信和 16 位 Windows 操作系统中的串口通信有很大的不同。这篇文章
假设读者已经熟悉 Win32 下多线程和同步的基本原理。另外,如果对 Win32 中的 heap 功能如果有基础
的了解,将使读者在完全理解这篇文章中提到的多线程 TTY(MTTTY)例子的内存管理方法上是很有
用的。
综述
Win32 中的串口通信和 16 位 Windows 中的串口通信有显著的不同。那些熟悉 16 位串口通信函数的
开发人员将不得不重新学习许多系统部分的知识,以便能编写正确的串口通信程序。这篇文章将帮助实
现这个目标。那些不熟悉串口通信的人员将发现这篇文章会为他们以后研究发展奠定坚实的基础。
这篇文章假设读者已经熟悉 Win32 下多线程和同步的基本原理。另外,如果对 Win32 中的 heap 功
能如果有基础的了解,将使读者在完全理解这篇文章中提到的 MTTTY 例子的内存管理方法上是很有用
的。
关于这些函数的更多信息,请查阅平台 SDK 文档:微软 Win32 知识库或微软开发者联机文库。虽
然那些控制用户界面特性的应用程序接口(APIs)和对话框在这里并不讨论,但是对完全理解这篇文章
所提供的例程还是很有用的。不熟悉一般的 Windows 编程的读者在开始处理串行通信前首先应该学习
一些 Windows 编程基础。换句话说,冒失地潜水前先沾湿你的脚。
引言
这篇文章主要介绍应用程序接口(APIs)和微软 Windows NT 以及 Windows 95 所兼容的方法。因
此,只讨论在 NT 和 95 这两个平台上都被支持的 APIs。Windows 95 支持 Win32 电话 API(TAPI),但
·2·
是 Windows NT 3.x 却不支持。因此,这里不对 TAPI 进行讨论。然而,TAPI 值得一提的时,它在调制
解调器的连接和调用控制上是非常好的工具。如果一个应用程序产品涉及调制解调器工作和电话拨号,
那么利用 TAPI 接口可以实现这些功能。它允许和用户可能有的 TAPI 程序实现无缝结合。此外,这篇
文章也不讨论 Win32 中的一些配置函数,像 GetCommProperties。
这篇文章包含的例子,MTTTY:多线程 TTY(4918.exe),实现了许多这里所要讨论的功能。在它
的实现中使用了 3 个线程:一个用户界面线程实现内存管理、一个写线程实现控制所有的写操作、还有
一个读/状态线程实现读数据和处理端口上发生改变的状态。该例子采用一些不同的数据堆实现内存管理。
它也广泛使用同步方法促进线程之间的通信。
打开串口
使用 CreateFile 函数可以打开一个通信端口。调用 CreateFile 打开通信端口有两种方式:重叠的和
非重叠的。下面是使用重叠方式打开一个通信资源的例子:
HANDLE hComm;
hComm = CreateFile(gszPort,
GENERIC_READ | GENERIC_WRITE,
0,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0);
if (hComm == INVALID_HANDLE_VALUE)
// 打开错误;使中止。
移除 CreateFile 中的 FILE_FLAG_OVERLAPPED 标志可指定为非重叠方式。下一章节将对重
叠和非重叠方式进行讨论
在 Win32 软件开发工具包(SDK)程序员参考手册(概述,窗口管理,系统服务)中规定,当打开
一个通信端口时候,调用 CreateFile 有如下要求:
fdwShareMode 必须为 0。通信端口不能像文件一样被共享。应用程序使用 TAPI 可以使用 TAPI
函数很容易实现两个应用程序之间的资源共享。对于 Win32 应用程序,不是使用 TAPI。处理
继承或副本需要共享通信端口。处理副本超出了本文的范围,请查阅 Win32 SDK 文档获取更多
信息。
fdwCreate 必须指定为 OPEN_EXISTING 标志。
hTemplateFile 必须是 NULL。
需要注意一件事,惯例上它们有四个端口分别为:COM1、COM2、COM3 和 COM4。Win32 API
没有提供任何途径去确定系统中存在的端口。Windows NT 和 Windows 95 在配置串口方面互相并不相同,
所以任何一种方法都不能确保对所有的 Win 32 平台都是可移植的。一些系统甚至有比惯例上的最大数
量四个端口还要多的端口。硬件厂商和串行设备驱动的作者可以用他们所喜欢的方式去自由命名端口。
剩余28页未读,继续阅读
zcube
- 粉丝: 167
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论29