- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 串口通信基础在日常生活中,计算机串口对于用户而言,有着非常广泛的用途。例如,工业控制、计算机串口通信等。因此,串口通信编程是实现这些用途的最好途径。在本章中,将向用户介绍串口通信编程的基础知识以及串口通信数据的校验方法等。13.1 串口通信基本概念用户需要进行串口编程,必须对串口通信的一些基本概念以及通信数据传输的方式等非常地熟悉。因此,在本节中,主要向用户介绍一些关于串口通信方面的基础知识。13.1.1 串口通信概述串口通信是指用户通过计算机串口实现计算机与计算机之间的通信。一般情况下,串口均是按位(bit)进行发送和接收数据。计算机串口常被用于远距离传输信号或者数据。串口通信编程中,最重要的参数包括波特率、数据位、停止位等。当两台计算机通过串口进行通信时,必须将这些参数设置为相同。否则,两台计算机将不能进行数据通信。1.波特率 波特率是指用户每秒钟通过串口进行数据传输的位个数。波特率在计算机串口通信中,是一个非常重要的参数,常被用于衡量通信的速度。例如,用户在进行串口编程时,将波特率设置为9600,其表示的意思是串口每秒钟传输的数据个数为9600 B。?注意:用户在使用串口进行通信时,波特率可以为任何值。但是,用户在设置波特率时,应该综合分析之后再进行设置。默认情况下,波特率为9600。波特率也可以被用来描述串口通信的距离。一般情况下,波特率越大,其数据传输距离越短。如果用户需要进行远距离数据传输时,需要将波特率设置得越小。2.数据位数据位是指在计算机串口通信中,用来描述实际传输数据位的参数。其中,实际传输的数据位包括开始位、停止位、数据位以及奇偶校验位。这些数据位均包含在一个数据包中进行传输。3.停止位停止位是指计算机发送或接收的每个数据包的最后一位。因为计算机通信数据都是在传输电缆中进行传输的,所以,计算机发送的数据会受到计算机时钟的影响,导致停止位不能简单的被用于表示数据传输的结束。如果用户设置的停止位位数越多,则其数据传输的速率会越慢。这是由于计算机串口数据传输的特点是按位进行传输的。?注意:用户在实际编程时,为了避免停止位与用户所传输的数据位相同,造成数据传输的混乱。所以,用户需要将串口数据的停止位的位数增多。4.奇偶校验位奇偶校验位在串口通信中,是一种最简单的检错方式。其中分别包含了两种校验方法:奇位校验和偶位校验。当然,在串口通信中,没有校验位也是允许的。用户在进行串口编程时,必须设置至少一个检验位,以确保用户传输的数据的完整性和准确性。?注意:偶校验和奇校验的基本原理是相同的,只需检测数据中的“1”或“0”的个数值是偶数还是奇数。13.1.2 单工、半双工和全双工的定义一般,根据串口数据的传输方向,可以将串口通信方式大致分为单工、半双工和全双工。用户在使用串口进行编程时,必须需要知道串口的通信方式。所以,在本(小)节中,将向用户分别介绍单工、半双工和全双工的基本定义。1.单工单工是指在串口通信中,其通信数据只能由一端向另一端进行单向传输。一般,串口单工通信方式常被应用在工业控制方面。例如,工业计算机通过串口,从传感器中获取采样数据等。具体的单工通信方式如图13.1所示。图13.1 串口通信的单工通信方式?注意:如果串口采用单工通信方式进行通信,其通信数据仅能从计算机B到计算机A。数据传输方向不能逆转。目前,这种通信方式已经很少应用在实际项目的开发中。2.半双工半双工通信是指串口数据可以从通信的一端传输到另一端,而该数据传输方向也可以进行逆转。但是,计算机在串口通信的半双工方式下,并不能同时发送和接收数据。所以,用户采用半双工方式进行串口通信时,只能允许一个方向上的数据传输。半双工通信方式如图13.2所示。图13.2 串口通信的半双工通信方式?注意:在串口通信中,采用半双工方式进行数据传输时,用户需要使用到两根数据传输线。但是,在任意时刻,这两根数据传输线只能允许其中一根存在数据传输。3.全双工全双工是指在任意时刻下,串口通信数据可同时在传输线路上,进行双向传输。使用该通信方式时,用户需要使用两根数据传输线,一根数据传输线发送数据,而另一根数据传输线则接收数据。这种通信方式已经被广泛使用到实际的项目开发中。全双工通信方式如图13.3所示。图13.3 串口通信的全双工通信方式在本节中,向用户介绍了单工、半双工以及全双工串口通信方式的基本工作原理。用户在进行串口编程时,一定需要首先规定串口的通信方式。13.1.3 同步方式与异步方式在串口通信中,除了13.1.2节向用户介绍的单工等通信方式以外,串口的通信方式还可以分为同步方式和异步方式。本节将向用户介绍这两种通信方式的基本原理以及区别。1.同步方式同步通信方式是指在串口通信编程中,用户从串口读取或者写入数据时,其线程函数会发生阻塞。当用户使用
文档评论(0)