串口通讯协议介绍

一、通信协议

是指通信双方的一种约定,包括对于同步方式、数据格式、传送速度、传送步骤、检纠错方式、控制字符的定义等,做出统一的规定,需要通信双方的共同遵守;也叫做通信控制规程、传输控制规程,它属于ISO(International Organization for Standardization,国际标准化组织)的OSI(Open System Interconnect,开放式系统互连)七层参考模型中的数据链路层。串行通信协议分为两类:同步协议、异步协议。同步协议有3种:面向字符Character、面向比特Bit、面向字节计数。常用的异步协议有:起止式异步协议,实例介绍如下。

首先,规定了3种功能位的电平:起始位(0)、停止位(1)、空闲位(1);停止位、空闲位均为高电平,这就保证了在起始位的开始处有一个下降沿。字符帧,又称做数据帧,由起始位(1位)、数据位(5-9位,D0居前)、奇偶校验位(0、1位)、停止位(1、1.5、2位)依次组成;该格式是依靠起始位、停止位来实现字符(数据)的界定、同步的,故称为起止式协议。起始位是作为联络信号而附加进来的,在接收方,它的到来,表明紧接着要来数据位了,现在需要做好数据位等的接收准备。

 

示意图如下,

 

 

二、流控

 

这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过modem进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。 pc机中常用的两种流控制是硬件流控制(包括rts/cts、dtr/cts等)和软件流控制xon/xoff(继续/停止)。

 

参考:http://book.51cto.com/art/201211/365354.htm

https://blog.youkuaiyun.com/lijia11080117/article/details/51371893

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值