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