"Serial Communication in Win32.pdf 是关于在Windows环境下进行串行通信的编程指南,涵盖了如何打开端口、非重叠和重叠操作等主题。" 在Windows编程中,串行通信(Serial Communication)是设备之间通过串行接口进行数据传输的一种方式,常见于打印机、调制解调器等硬件设备的连接。本文档主要讨论了在Win32环境下如何使用串行通信,特别是如何利用Windows API函数`CreateFile`来打开和管理串行端口。 `CreateFile`函数是Windows API中的一个核心功能,用于打开或创建文件、管道、设备等资源,包括串行通信端口。当需要打开串行端口时,`CreateFile`的参数设置至关重要。对于重叠(Overlapped)操作,这是异步I/O的一种形式,允许系统在等待I/O操作完成时执行其他任务,提高程序效率。以下是如何使用`CreateFile`进行重叠操作的示例代码: ```cpp HANDLE hComm; hComm = CreateFile( gszPort, // 端口名称,如"COM1" GENERIC_READ | GENERIC_WRITE, // 请求读写权限 0, // 不共享,串行端口不支持文件那样的共享模式 NULL, // 默认的安全属性 OPEN_EXISTING, // 只打开已存在的端口 FILE_FLAG_OVERLAPPED, // 标志为重叠操作 NULL // 无模板文件 ); if (hComm == INVALID_HANDLE_VALUE) { // 打开端口失败,处理错误并退出 } ``` 如果将`FILE_FLAG_OVERLAPPED`标志移除,`CreateFile`将使用非重叠(Non-Overlapped)操作,即同步I/O,这会阻塞调用线程直到I/O操作完成。非重叠模式适合简单的、不需要异步处理的串行通信场景。 在打开串行通信端口时,文档指出`fdwShareMode`参数必须设置为零,因为串行端口不支持像文件那样被多个进程共享。然而,使用Telephony Application Programming Interfaces(TAPI)的应用可以利用TAPI函数来实现不同应用间的资源共享。 除了`CreateFile`,在进行串行通信时还需要配置端口参数,如波特率、数据位、停止位、校验位等,这通常通过`DCB`(Device Control Block)结构和`SetCommState`函数完成。同时,`SetCommMask`用于设置串口事件的监视,`WaitForSingleObject`和`GetCommEvents`配合使用可监听并响应串行端口的事件。 `Serial Communication in Win32`探讨了如何在Windows系统下有效地进行串行通信编程,包括如何正确打开端口、选择合适的操作模式以及配置通信参数,这些都是开发涉及串行通信应用时的关键技术点。
![预览](https://dl-preview.csdnimg.cn/7827893/0006-948d860046b0ec6812735b4e6599b257_preview.png)
![预览](https://dl-preview.csdnimg.cn/7827893/0007-5e4046c75c6cf76d2189e4e96973cb32_preview.png)
剩余30页未读,继续阅读
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 18
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)