8051單片機(jī)串口通信中的檢錯方法
3 測試結(jié)果分析
本文通過相同的環(huán)境,綜合比較了三種錯誤檢測的實際效率,其實驗結(jié)果如表1所列。本文引用地址:http://www.ex-cimer.com/article/173544.htm
表1是根據(jù)發(fā)送數(shù)據(jù)的長短和波特率計算出來的理論值,實際測試值則是調(diào)用PC端的時間函數(shù)來測試的。為了提高漢明碼的解碼效率,本文在8051上通過匯編語言進(jìn)行解碼。通過對得出的表中數(shù)據(jù)進(jìn)行分析可見,CRC校驗具有最好的檢錯效率,且差錯率低,耗時適中。
4 結(jié)束語
本文通過對串口傳輸中三種檢錯方法的大量數(shù)據(jù)進(jìn)行比較,分析了它們的檢錯結(jié)果和效率。在奇偶校驗中,為了提高檢錯速度,8051端可采用匯編語言直接讀取標(biāo)志位寄存器中的奇偶標(biāo)識。而在漢明碼中,則可分別采用C語言和匯編語言來進(jìn)行編程。三種檢錯方法中,耗時最低的是奇偶校驗,其檢錯的速度最快,CRC8次之,檢錯最慢的是漢明碼。誤差率最低的為CRC8,其次為漢明碼,奇偶校驗發(fā)生錯誤的概率比較大。
由于是串口通信,出錯的概率比較小,因此,傳輸較大文件時,檢錯一般采用奇偶校驗,只有對誤差率要求較高的場合,才用到CRC。漢明碼一般很少用于檢錯場合。
評論