vc++串口编程分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深入浅出 VC++串口编程之基本概念 2006-02-17 09:43 作者:宋宝华出处:天极开发责任编辑:方舟 引言 在 PC 机的主板上,有一种类型的接口可能为我们所忽视,那就是 RS-232C 串行接口,在微软的 Windows 系统中称其为 COM。我们可以通过设备管理器来查看 COM 的硬件参数设置,如图 1。 图 1 在Windows 上查看 PC 串口设置 迄今为止,几乎每一台 PC 都包含 COM。本质而言,COM 是 PC 为和外界通信所提供的一种串行数据传输的接口。作为一种物理通信的途径和设备,它和目前风靡的另一种串行接口――USB 所提供的功能是一致的。不过 RS-232C 显然已经开始被后起之秀USB 赶超,因为 USB 的传输速率已经远远超过了RS-232C。 尽管如此,RS-232C 仍然具有非常广泛的应用,在相对长的一段时间里,难以被USB 等接口取代。RS-232C 接口(又称 EIA RS-232C),1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定,全名是数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准。 本文将对这一接口进行硬件原理的介绍,随后我们将逐章学习DOS 平台的串口编程,及Windows 平台下基于 API、控件和第三方类的串口编程,最后本文将给出一个综合实例。 在本文的连载过程中,您可以通过如下方式联系作者(热忱欢迎读者朋友对本文的内容提出质疑或给出修改意见): 作者 email: 21cnbao@21(可以来信提问,笔者将力求予以回信解答,并摘取其中的典型问题, 在本系列文章最后一次连载的《读者反馈》中予以阐述); 硬件原理 众所周知,CPU 与存储芯片和 I/O 芯片的通信是并行的(并行传输的最大位数依赖于 CPU 的字长、数据总线的宽度),一种叫做 UART(通用异步收发器,Universal Asynchronous Receiver/Transmitter) 的芯片提供了并行数据传输和 RS-232C 串行数据传输方式的转换。这样的设备通常有如图 2 所示的管脚分布,当其向外传输数据时,CPU 并行的将数据写入这类芯片的寄存器,UART 再将寄存器中的数据一位一位地移动并向外传输;当外界向其传输数据时,UART 一位一位地接收数据,并将其移位组合为并行数据,CPU 再并行地读取这些数据。实际上,由于UART 芯片一般以 TTL/CMOS 电平工作,在UART 连接接口之前,还要经过一个 TTL/CMOS 和 RS-232C 电平的转换。RS-232C 规定了其标准的电气特性,逻辑1 对应的电压必须在-5~-15V 之间;逻辑 0 对应的的电压必须在+5~+15V 之间。 图 2 UART 并/串转换一个常见的 TTL/CMOS 和 RS-232C 电平转换芯片如图 3。 图 3 常见的 TTL/CMOS 和 RS-232C 电平转换芯片 RS-232C 通常以两类接插件与外界相连,分别称为DB9 和 DB25,如图 4 所示。 图 4 DB9 和 DB25 而接插件中各个针的定义则如表 1: 表 1 DB9 和 DB25 引脚定义 DB9 DB25 针号 功能说明 缩写 针号 功能说明 缩写 1 数据载波检测 DCD 8 数据载波检测 DCD 2 接收数据 RXD 3 接收数据 RXD 3 发送数据 TXD 2 发送数据 TXD 4 数据终端准备 DTR 20 数据终端准备 DTR 5 信号地 GND 7 信号地 GND 6 数据设备准备好 DSR 6 数据准备好 DSR 请求发送 清除发送 振铃指示 RTS 4 CTS 5 DELL 22 请求发送清除发送振铃指示 RTS CTS DELL RS-232C 定义为数据通信设备(DCE)和数据终端设备(DTE)之间的互连,实现上,到现在为止, 究竟一个设备属于 DCE 还是属于 DTE 已经没有明显的界限,PC 即可作为 DCE,又可作为DTE。两串口互连,连接方法主要有二: 一种方法是,数据的发送和接收由软件控制,不进行硬件握手,其连接方法如图 5(最常用 DB9 连接示意)和表 2(DB9、DB25 三线连接表),真正需要互相连接的是RXD、TXD 和 GND; 图 5 无硬件握手时两串口连接 表 2 DB9、DB25 三线连接 9 针-9 针 5 针-25 针 2 9 针-25 针 2 3 3 2 2 2 3 2 2 3 3 3 5 5 7 7 5 7 软件握手又称为 XON/XOFF,通常以 CTRL-S(0x13)和 CTRL-Q(0x11)两个字符来实现流控制。前者用于请求对方暂停发送,后者用于清除暂停传送的请求,继续发

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档