UART的RTS和CTS

UART的RTS, CTS:
一、流控,顾名思义就是流量控制的意思。目的是协调收发双方,使数据不会丢失。
二、很多人用了串口很久都不知道这回事,这是因为很多场合确实没有必要。收发双方波特率固定,并且接受数组足够大,这时不会出现接收方接受数组溢出导致数据丢失的情况,所以,以我的理解,使用流控的主要目的就是在数据量大,有可能出现接受数组溢出的时候,采取的一种协调收发双方的措施。
三、流控设计到RTS和CTS两个口,收发双方都有各自的RTS和CTS,如通信双方A,B。那么A的RTS就与B的CTS相连,A的CTS就与B的RTS相连。
RTS:Request to send; CTS:Clear to send。
RTS的作用是告诉对方我可以接受数据,是输出口;CTS的作用是根据电平高低控制发送或不发送数据。

如:A与B通信,现在A给B发送数据,当B出现某种情况(可能是接受缓存快要满了)的时候,B的RTS拉低(一般拉低表示有效,但也不一定),A的CTS是与B的RTS相连的,则A检测到它的CTS拉低,就知道B在告诉他暂时不要再发了。他就乖乖地停止发送。等到B可以继续接收数据的时候,B的RTS拉高,这时候A的CTS也拉高,A就知道可以继续发送数据了。如果A和B收发情况换一下也是一样的道理。

异步通信:asychronous data communication
异步通信是以字符(构成的帧)为单位进行传输(也称为帧格式),字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间是异步的(字符之间不一定有位间隔,但同一字符内的各位是同步的(各位之间的距离均为位间隔的整数倍)。
UART的RTS和CTS_第1张图片

同步通信:synchronous data communication
在异步传送中,每一个字符都要用起始位和停止位作为字符开始和结束的标志,占用了一定的时间。为了提高传送速度,有时就去掉这些标志,而采用同步传送的方式,即一次传送一组数据。在这一组数据的开始处要用同步字符SYNC(1~2个)来加以指示,实现发送和接收端的同步。一旦检测到约定的同步字符,下面就连续、顺序的发送和接收数据。
UART的RTS和CTS_第2张图片

你可能感兴趣的:(电子通信协议,RTS,CTS)