在通訊中,為了保證行運安全可靠,標準的串行口必須具有許多握手信號和
狀態(tài)信息。這是因為通兜母鞲黽撲慊鶦PU速度不一樣(這會導致“錯幀”)以
及發(fā)送機發(fā)送數(shù)據(jù)速度比接收機接收速度快(這會導致“過沖”)。為解決這個
問題,我們采用一個簡單的握手信號,即發(fā)送機每次僅發(fā)送半個字節(jié)(低4位)
的數(shù)據(jù),而另外半個字節(jié)(高4位)則用來傳送信息。我們可以對信息位(高4位)
進行如下簡單的編碼:
0H:發(fā)送的是新的半個字節(jié)數(shù)據(jù)
1H:重新發(fā)送上次傳送錯誤的數(shù)據(jù)
2H:文件名結(jié)束
3H:文件結(jié)束
這樣,每當發(fā)送機發(fā)送一個字節(jié)以后,就等待接受機發(fā)回送信號,這回送信號就
是發(fā)送機發(fā)送過來的那個字節(jié)。發(fā)送機接收到回送信號后,把它與剛發(fā)送的字節(jié)
相比較,如果相同,就發(fā)送新的半個字節(jié),否則就重新發(fā)送。新數(shù)據(jù)與舊數(shù)據(jù)通
過信息位來區(qū)分。下面就是用C語言編寫控制串行口的程序。
標簽:
通訊
上傳時間:
2015-05-22
上傳用戶:黑漆漆