0

非同期シリアル データ伝送を理解しようとしています。送信デバイスが受信側に開始ビット (たとえば 1) を送信して、送信が開始されたことを示すことを知っています。その後、送信が終了したことを示すストップ ビット (例: 0)。

理解できないこと: 受信デバイスはどのビットがストップ ビットであるかをどのように認識しますか? ストップ ビットは、データの他のビットと同じです。私が考えることができる唯一の方法は、送信デバイスがかなりのギャップのためにビットの送信を停止した場合、受信デバイスはそれ以上ビットが来ていないことを認識し、最後のビットはストップビットであったに違いありません. しかし、その場合、受信デバイスが単にビットを待機し、送信デバイスがそれ以上ビットを送信しなくなったときに送信が終了すると考えるのではなく、なぜストップ ビットが必要になるのでしょうか?

4

1 に答える 1

0

それはプロトコルの問題になります。スタート ビットとストップ ビットは、通信するデバイスがその意味に同意する場合にのみ意味を持ちます (たとえば、フレームはスタート ビット、8 データ ビット、およびストップ ビットで構成されます)。同様に、特定の通信がいつ完了したかを示す方法は、参加者間で合意する必要があります (たとえば、メッセージの終了を示す 1 つまたは複数のフレームを定義します)。そのため、特定の通信では、完全なフレームが受信され、リスナーがリッスンし続けるか、部分的なフレームが受信されるかのいずれかです。フレームが受信され、後続のデータ送信がなく、一定期間後に接続が失敗したと見なされるか、完全なフレームが受信され、そのフレームが交換の終了を示します。

于 2014-06-15T15:47:35.397 に答える