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流控