在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)串口通信中的檢錯(cuò)方法

            51單片機(jī)串口通信中的檢錯(cuò)方法

            作者: 時(shí)間:2011-12-07 來源:網(wǎng)絡(luò) 收藏
            0 引言
            對于基于flash控制器的8051的芯片結(jié)構(gòu),一般在進(jìn)行數(shù)據(jù)傳輸時(shí),都是先通過串口將數(shù)據(jù)傳送到flash控制器的buffer中。由于buffer的大小為512 bytes,所以每次傳輸?shù)淖畲髷?shù)據(jù)量為512bytes。本文中所討論的三種檢錯(cuò)方法的傳輸數(shù)據(jù)量均為512 bytes。


            1 檢錯(cuò)方式
            基于8051的串口數(shù)據(jù)通信系統(tǒng)的硬件開發(fā)平臺框圖如圖1所示。利用該平臺進(jìn)行數(shù)據(jù)傳輸時(shí),通常有三種數(shù)據(jù)檢錯(cuò)方式。

            1.1 奇偶校驗(yàn)
            奇偶校驗(yàn)是檢錯(cuò)中比較常見的一種方法。它利用數(shù)據(jù)中的1的個(gè)數(shù)作為檢錯(cuò)的標(biāo)志位,若1的個(gè)數(shù)為奇數(shù)個(gè),則錯(cuò)誤檢測的標(biāo)志位為1,若1的個(gè)數(shù)為偶數(shù),則錯(cuò)誤檢測的標(biāo)志位為0。在發(fā)送端和接收端同時(shí)檢測奇偶位,若得到相同的結(jié)果,則說明數(shù)據(jù)傳輸過程無錯(cuò)誤發(fā)生;若得到不同的結(jié)果,則說明數(shù)據(jù)傳輸過程中有錯(cuò)誤發(fā)生,此時(shí)8051會發(fā)送一個(gè)錯(cuò)誤重傳的信號,讓PC端再次發(fā)送數(shù)據(jù)。
            1.2 循環(huán)冗余校驗(yàn)(CRC)
            CRC是利用除法和余數(shù)的原理來進(jìn)行錯(cuò)誤檢測(Error Detecting)。如果原始數(shù)據(jù)為多項(xiàng)式JP(x),則將P(x)對生成的多項(xiàng)式G(x)進(jìn)行模2除法,再將得到的余式R(x)作為生成的CRC校驗(yàn)碼,用公式可以表示為:
            P(x)=Q(x)·G(x)+R(x)
            上式中的Q(x)為除法得到的商。發(fā)送端將原始數(shù)據(jù)P(x)和生成的CRC校驗(yàn)碼R(x)發(fā)送到接收端。接收端則根據(jù)接收到的數(shù)據(jù)P'(x)算出另外的一個(gè)CRC校驗(yàn)碼R'(x),然后對兩個(gè)CRC校驗(yàn)碼進(jìn)行比較,即可得出在傳輸過程中是否有錯(cuò)誤發(fā)生。若發(fā)生錯(cuò)誤,則用發(fā)送端重傳。本文中所采用的CRC8所生成的多項(xiàng)式G(x)為:x2+x5+x4+1。


            上一頁 1 2 3 下一頁

            關(guān)鍵詞: 51單片機(jī) 串口通信

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉