6

ハードウェア ハンドシェイクとハードウェア ハンドシェイクなしでシリアル ポートを開くときの違いを判断しようとしています。

どちらの場合も、信号を制御する必要があるようですRTS/CTS(1 つの COM デバイスでテストしただけです)。では、ハードウェア ハンドシェイクを使用してシリアル ポートを開く場合と、ハンドシェイクを使用しない場合の違いは何でしょうか?

私の以前の理解から、私たちが働くときwithout handshaking、私たちは信号を気にしませRTS/CTSDTR/DSR。いつでもデータを送受信するだけです。私は間違っていましたか?

もう1つ質問です。モードのみwithout handshakingで作業できますか?full duplex

4

2 に答える 2

7

ご存じのとおり、問題は「フロー制御」です。クラッシュの曲「Sho I stay or should I go?」のように。

RTS/CTS はハードウェア制御です。XON/XOFF はソフトウェア制御です。それ以外の場合は、「そのまま続行してください」。

このリンクはさらに説明するかもしれません:

http://www.lammertbies.nl/comm/info/RS-232_flow_control.html

「デュプレックス」に関して「ハンドシェイク」について尋ねたとき、おそらくあなたはこれを意味したと思います:

http://en.wikipedia.org/wiki/RS-232

仕様の古いバージョンでは、RS-232 の RTS および CTS ラインの使用は非対称です。DTE は RTS をアサートして DCE への送信を希望していることを示し、DCE は許可の付与に応答して CTS をアサートします。これにより、不要なときに送信機を無効にする半二重モデムが可能になり、再有効化されたときに受信機に同期プリアンブルを送信する必要があります。

「お役に立てば幸いです!

于 2011-09-28T05:46:38.683 に答える
1

違いは、より多くのデータを送信するかどうかを決定するときに、カーネルがCTS/行に注意を払うかどうかです。RTSハードウェア ハンドシェイクを有効にすると、それが可能になります。none に設定すると、CTS/RTS行がアサートされたままになる可能性があるため、ピアはデータを送信できることを認識します。

于 2013-12-23T18:09:22.063 に答える