CRC校驗

采用如下的CRC校驗方法

冗余循環(huán)碼(CRC)包含2個字節(jié)。CRC碼由發(fā)送設(shè)備計算妻坝,放置于發(fā)送信息的尾部娩梨。接收信息的設(shè)備再重新計算接接收到信息的CRC碼,比較計算得到的CRC碼是否與接收到的相符鲜锚,如兩者不相符,則表明出錯苫拍。

CRC碼的計算方法是芜繁,先預(yù)置16位寄存器全為1。再逐步把8位數(shù)據(jù)信息進(jìn)行處理绒极。在進(jìn)行CRC碼計算時只用8位數(shù)據(jù)位骏令;起始位、停止位及奇偶校驗位都不參與CRC碼計算垄提。

計算CRC碼的步驟:

  1. 預(yù)置16bits寄存器為為0xFFFF(即全為1)榔袋,稱此寄存器位CRC寄存器。
  1. 把第一個8bits數(shù)據(jù)與16bits CRC寄存器的低位相異或铡俐,把結(jié)果放于CRC寄存器凰兑。
  1. 把CRC寄存器的內(nèi)容右移一位(朝低位),用0填補(bǔ)最高位审丘,檢查最低位吏够。
  1. 如果最低位為0:重復(fù)第3步;如果最低位為1:CRC寄存器與0xA001進(jìn)行異或運(yùn)算滩报。
  1. 重復(fù)步驟3和4锅知,直至右移8次,這樣整個8bits數(shù)據(jù)全部進(jìn)行了處理脓钾。
  1. 重復(fù)步驟2到步驟5售睹,進(jìn)行下一個8bits數(shù)據(jù)的處理。
  1. 最后得到的CRC寄存器即為CRC碼可训。

代碼如下:

void crc16(uint8_t data,uint16_t* crc){
  uint8_t i=0;
  while(i<8){
    *crc ^= ((uint16_t)data);
    shift:  *crc >>=1;
    if(*crc&0x0001)
      *crc ^=0xa001;
    else
    goto shift;
    i++;
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昌妹,一起剝皮案震驚了整個濱河市生真,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捺宗,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件川蒙,死亡現(xiàn)場離奇詭異蚜厉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)畜眨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門昼牛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人康聂,你說我怎么就攤上這事贰健。” “怎么了恬汁?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵伶椿,是天一觀的道長。 經(jīng)常有香客問我氓侧,道長脊另,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任约巷,我火速辦了婚禮偎痛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘独郎。我一直安慰自己踩麦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布氓癌。 她就那樣靜靜地躺著谓谦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顽铸。 梳的紋絲不亂的頭發(fā)上茁计,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機(jī)與錄音谓松,去河邊找鬼星压。 笑死,一個胖子當(dāng)著我的面吹牛鬼譬,可吹牛的內(nèi)容都是我干的娜膘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼优质,長吁一口氣:“原來是場噩夢啊……” “哼竣贪!你這毒婦竟也來了军洼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤演怎,失蹤者是張志新(化名)和其女友劉穎匕争,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爷耀,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甘桑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了歹叮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跑杭。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咆耿,靈堂內(nèi)的尸體忽然破棺而出德谅,到底是詐尸還是另有隱情,我是刑警寧澤萨螺,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布窄做,位于F島的核電站,受9級特大地震影響屑迂,放射性物質(zhì)發(fā)生泄漏浸策。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一惹盼、第九天 我趴在偏房一處隱蔽的房頂上張望庸汗。 院中可真熱鬧,春花似錦手报、人聲如沸蚯舱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枉昏。三九已至,卻和暖如春揍鸟,著一層夾襖步出監(jiān)牢的瞬間兄裂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工阳藻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晰奖,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓腥泥,卻偏偏與公主長得像匾南,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蛔外,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容

  • CRC校驗蛆楞,全名叫做循環(huán)冗余校驗碼溯乒,是數(shù)據(jù)通訊中最常采用的校驗方式。為了學(xué)習(xí)這個CRC豹爹,在網(wǎng)上找了好多資料裆悄,下面這...
    AmdyTeng閱讀 6,292評論 2 6
  • 8086匯編 本筆記是筆者觀看小甲魚老師(魚C論壇)《零基礎(chǔ)入門學(xué)習(xí)匯編語言》系列視頻的筆記,在此感謝他和像他一樣...
    Gibbs基閱讀 37,193評論 8 114
  • 產(chǎn)品描述 工作頻段 **CC1100: **400-464 MHz and 800-928MHzCC1101: 3...
    Alex_Lin閱讀 4,612評論 1 0
  • SPI通信實驗 SPI簡介 串行外設(shè)接口(Serial Peripheral Interface Bus吁恍,SPI)...
    btskyrmb閱讀 9,430評論 1 12
  • 15年的9月1日冀瓦,這一天伴奥,我們分手了,為我們這段談了七年的戀愛劃上了一個永久的靜止符翼闽。 1拾徙、“好,我答應(yīng)你感局,我和她...
    張嘴就來閱讀 415評論 0 0