CTS(Clear To Send)为输出端,用于给对方发送数据;
RTS(Require To Send)为输入端,用于吸收对方发过来的数据;
两个设备在通讯过程中,由于处理的速率会存在一定的差异,在处理数据时,有些处理慢,有些处理快,那这样就会可能导致数据丢失的情形。
例如,某些时候,我们用到电脑和某些设备通讯,去完成一些操作。 当电脑接管数据的缓冲区已满,此时某设备连续发送来的数据,将不会别接管,以是就会导致数据的丢失。 要办理这个问题,我们就利用流控,也便是说,当吸收端数据出来不过来时,CTS就会发出“不再吸收”的旗子暗记给到外部设备,当外部设备的RTS收到停滞指令后,就会停滞发送。直到收到“可以连续发送”的旗子暗记再发送数据。因此流掌握可以掌握数据传输的进程,实现收发双方的速率匹配,防止数据的丢失。 流掌握包括硬件流掌握(RTS/CTS、DRT/CTS)和软件流掌握XON/XOFF连续/停滞。
三、硬件连接办法
芯片1的CTS连接芯片2的RTS,芯片1的RTS连接芯片2的CTS,当然,他们直接还要用GND的连接。
四、串口流掌握的利用1. 硬件流控:硬件流控分为CTS/RTS流掌握和DTR/DSR流掌握,DTR/DSR指的是数据终端就绪/数据设置就绪,我们很少用到,用得多的是CTS/RTS。
以一个对话来解释:
CTS: 在吗?我想向你发送数据
RTS:在的,你发过来吧,我已经做好吸收的准备
经由了一段韶光......
RTS:我的能力有限,你可以停滞向我发送数据吗?
CTS:好的,我这就停滞
2. 软件流控:软件流控,一样平常用于串口只接TX、RX,没有CTS和RTS的运用。
————————————————