没有合适的资源?快使用搜索试试~ 我知道了~
VC_API串口通信word文档
5星 · 超过95%的资源 需积分: 3 95 下载量 108 浏览量
2011-12-20
10:21:27
上传
评论
收藏 110KB DOC 举报
温馨提示
试读
17页
vc++通过API函数进行串口通信,包括了串口的打开配置,串口读写命令,串口关闭等
资源推荐
资源详情
资源评论
目 录
打开串口
关闭串口
串口配置与串口属性
串口配置
串口属性
缓冲区控制
读写串口
读串口操作
写串口操作
异步 操作
超时设置
通信状态和通信错误
打开串口代码示例:
串口的读写代码示例:
在“创意天地中级”开发过程中,关于串口通信的开发采用的是 串口通信相关
函数。
在 位 系统中,串口和其他通信设备都是作为文件处理的。串口的打开、关
闭、读取和写入所有的函数与操作文件的函数完全一致。
打开串口
通信会话以调用 开始。 为读访问、写访问或读写访问“打开”串口。
按照 的通常做法, 返回一个句柄,随后在打开端口的操作中使用
函数非常复杂,复杂性的原因之一是他是通用的。可以使用 打开已经
存在的文件,创建新文件和打开根本就不是文件的设备,例如串口、并口、和调制解调器
函数声明如下:
!"#$%&
$'(')&*+",- *+",.指定要打开的串口逻辑名,用字符串表示,
例如”/0-表示串口
#)#&122- 122.用来指定串口访问的类型。与文件一样,
串口也是可以被打开一并读取写入或者两者兼有。
3%"%)4)%# 为读取访问,3%"%)4)'% 为写访问
2&3%"%)4)%#&5&67;
2&3%"%)4)'%&5&67;
因为大部分串口通信都是双向的,所以在设置中通常
将两个标识连接起来使用,
即 122&5&3%"%)4)%#83%"%)4)'%
#)#&1(7/- 1(7/.指定该端口的共享属性。该参数是为
那些有许多应用程序共享的文件提供的。对于不能共
享的串口,它必须设为 。这就是文件与通信设备之
间 的主 要 差异之 一。 如果 在 当前的 应用程 序 调用
时,另一个应用程序已经打开了串口,该
函数就会返回错误代码,原因是两个应用程序不能共
享一个端口。然而,同一个应用程序的多个线程可以
共享由 返回的端口句柄,并且根据安全性
属性设置,该句柄可以被打开端口的应用程序的子程
序所继承。
$(%9)':4'');9'%(&*- *. 引 用 安 全 属 性 结 构
((%9)':4))';9'%(),该结构定义了一些属
性,例如通信句柄如何被打开端口的应用程序的
子程序所继承。将该参数设置为 "9$$ 将为该端口
分配默认的安全性属性。子应用程序所继承的默
认属性是该端口不能被继承的。
安全属性结构 (%9)':4'');9'%( 声明如下:
<*1&=2&4(%9)':4'');9'%(>
&&#)#&$?7;指明该结构的长度
#)#&*(2=<#2*;指向一个安全描
述字符
&&;$&@7!;表明句柄是否能被继承
A(%9)':4'');9'%(;
#)#&1- 1.指定如果 正在被已有的文件调
用时应采取的动作。因为串口总是存在,1 必
须设置成 %"4%B('"3。该标志告诉 不要
企 图 创 建 新 端 口 , 而 是 打 开 已 存 在 的 端 口 。
%"4%B('"3& &
&&&&
常 数定 义 为:& &2&%"4%B('"3&5& &
&&;& &
#)#&1C?- 1C?.描述了端口的各种属性。对于
文件来说,对于文件来说可能具有很多属性,但对于
串口,唯一有意义的设置是 $%4$34D%)$%#。
当创建时指定该设置,端口 可以在后台进行(后
台 也叫异步 )。 $%4$34D%)$%# 常数
定 义 如 下 : 2 & $%4$34D%)$%# & 5
67;
!"#$%&7',* 7',*.指向模版文件的句柄,当端口处于打
开状态时,不使用该参数,因而必须设置成 。
当使用 函数打开串口时,为实现调制解调器的排他性访问,共享标识
(1(7/)必须设为零;创建标识(1)必须设为 %"4%B('"3;模板句
柄(7',*)必须设置为空。
一旦端口处于打开状态,就可以分配一个发送缓冲区和接收缓冲区,并且通过调用
(=*,, 实现其他初始化工作。也可以不调用 (=*,, 函数, 系统也会分
配默认的发送和接收缓冲区,并且初始化端口。但是为了保证缓冲区的大小与实际需要一
致,最好还是调用该函数。(=*,, 函数声明如下:
;$&(=*,,
!"#$%&7- 通信设备句柄。由 返回的只想一打开端口的句柄
#)#&E==- 接受输入缓冲区大小。
#)#&=E== 发送输出缓冲区大小
F
接收缓冲区和发送缓冲区,这两个定义并非是实际的缓冲区大小,指定的大小仅仅是
“推荐的”大小,而 可以随意分配任意大小的缓冲区。 设备驱动程序可以
获得这两个数据,并不直接分配大小,而是用来优化性能和避免缓冲区超限。
关闭串口
调用 ! 函数关闭由 函数返回的句柄即可。
! 函数声明如下:
;$&!
!"#$%&7@G2 需要关闭的设备句柄
F
使用串口时一般需要关闭它,如果忘记关闭串口,串口就会始终处于打开状态,其他
应用程序就不能打开并使用串口了。
串口配置与串口属性
在 函数中打开串口之后,系统将根据上次打开串口时设置的值来初始化串口,
可 以 集 成 上 次 打 开 操 作 后 的 数 值 , 包 括 设 备 控 制 块 ( #; ) 和 超 时 控 制 结 构
( //'/%9'( ) 。如果是首次打开串口, 操作系统将会使用默认的配置。
串口配置
使用 3,,( 函数获取串口的当前配置,使用 (,,( 重新分配串口资
源的各个参数。
3,,( 函数声明如下:
;$&3,,(
!"#$%&7- &&通信设备句柄。由 函数返回的指向已打开串口的句柄
$#;&*#;&&&指向 H2I2&@2J&=2=&的指针。一个非常重要的结构—
—设备控制块 #;(#H2&&;2J)
F
#; 结构的声明如下:
<*1&=2=&4#;>
#)#&#;?7F #; 块大小,以字节为单位指定 #; 结构的大小;
#)#&;=); 现在的数据传输率。用以指定串口设备通信的数据传输
速率。它可以是实际的数据传输率,也可以是下列数据之
一 :
,,,,、、、、
、、、、、、。
剩余16页未读,继续阅读
zhouwenchaoboy
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JAVA 中的Spring框架介绍包括起源、体系结构、核心部分、特点等
- 2024年小米汽车产业链分析及新品上市全景洞察报告
- 基于Qt和C++实现的偏3D风格的异型窗体界面操作+源码(期末大作业&课设&项目开发)
- 基于yolov8的花卉分类系统,包含训练好的权重和推理代码,GUI界面,支持图片、视频、摄像头输入,支持检测结果导出
- 基于图形化编程的单片机教学案例研究
- 基于matlab语音识别的信号灯图像模拟控制技术代码19
- ET200SP-GSD文件-GSDML-V2.43-Siemens-ET200SP-20240209.zip
- STM32CubeIDE H743 + DP83848 + LWIP-UDP服务器跨网段传输数据
- 基于蓝牙单片机的锌烟除尘控制系统
- 基于matlab的hough变换道路提示牌检测识别系统代码18
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页