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