RTS/CTS 提供的是一种PC 和Modem 之间控制数据流的方法.
CTS和RTS是串行通讯中流控制的两个管脚,本身成对出现。
以PC与Modem之间的链接为例:
(1) Modem 准备接收数据时
使CTS为ON(1)
当Modem 不能接收更多数据时, 使CTS为OFF(0)
即:Modem控制CTS
(2) PC 可以接收数据时
RTS 为ON (1)
当PC不能接收更多数据时,RTS 为OFF(0).
即:PC控制RTS
RTS/CTS 属于是硬件流量控制
硬件流控是靠软件实现的,之所以强调“硬件”二字,仅仅是因为硬件流控提供了用于流量情况指示的硬件连线,
并不是说,你只要把线连上,硬件就能自己流控。
如果软件不支持,光连上RTS和CTS是没有用的
XON/XOFF则是软件流量控制
XON/XOFF分别对应于(Ctrl-q)和(Crtl-s)字符,
如果选择软件流量控制,则Modem 不能传递Ctrl-q 和 Crtl-s字符,因为这些字符被解释成为流控请求
- 软流控简介
一般通过XON/XOFF来实现软件流控制。
常用方法是:
当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符
(十进制的19或Control-S),发送端收到XOFF字符后就立即停止发送数据;
当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符
(十进制的17或Control-Q),发送端收到XON字符后就立即开始发送数据。
若传输的是二进制数据,标志字符也有可能在数据流中出现而引起误操作,这是软件流控制的缺陷,
而硬件流控制不会有这个问题。
本文转自:UART流控
来源:CSDN
作者:wang 恒
链接:https://blog.csdn.net/qq_23327993/article/details/104549920