一般情況下rs232通信只需要三根線加上完善協(xié)議就可以完成通信,特別是對于擁有dma功能或多級硬件fifo緩沖的串口在全雙工下工作簡直是小菜一碟。但是對于接收方過載的情況這種使用受到限制。這時需要串口的握手功能。
硬件握手:除了tx和rx數(shù)據(jù)線外,rts/cts和dtr/dsr也一起工作,一個作為輸出,另一個作為輸入。第一組線是rts(request to send)和cts(clear to send)。當接收方準備好接收數(shù)據(jù),它置高rts線表示它準備好了,如果發(fā)送方也就緒,它置高cts,表示它即將發(fā)送數(shù)據(jù)。另一組線是dtr(data terminal ready)和dsr(data set ready)。這些現(xiàn)主要用于modem通信。使得串口和modem通信他們的狀態(tài)。例如:當modem已經(jīng)準備好接收來自pc的數(shù)據(jù),它置高dtr線,表示和電話線的連接已經(jīng)建立。讀取dsr線置高,pc機開始發(fā)送數(shù)據(jù)。一個簡單的規(guī)則是dtr/dsr用于表示系統(tǒng)通信就緒,而rts/cts用于單個數(shù)據(jù)包的傳輸。