![[計算機]CRC16查表法中表格數(shù)據(jù)計算方法及實例_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/23/50130701-f73c-477b-ad87-b5b2700eff81/50130701-f73c-477b-ad87-b5b2700eff811.gif)
![[計算機]CRC16查表法中表格數(shù)據(jù)計算方法及實例_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/23/50130701-f73c-477b-ad87-b5b2700eff81/50130701-f73c-477b-ad87-b5b2700eff812.gif)
![[計算機]CRC16查表法中表格數(shù)據(jù)計算方法及實例_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/23/50130701-f73c-477b-ad87-b5b2700eff81/50130701-f73c-477b-ad87-b5b2700eff813.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、最近在搞crc校驗,用的是crc16標準,查看了很多資料發(fā)現(xiàn)很多講的都是crc16-ccitt標準,一直想弄明白crc-16標準中的采用查表法的方式中那兩個表格中的數(shù)是如何求出來的??上]有一個文章仔細的講,更沒有文章給出實例來算一算。一切只能靠自己了,誰讓我喜歡尋根摸底呢。研究了一下本站會員玉丫子的文章,自己琢磨了琢磨,終于知道是怎么算出來的了。crc16算法的生成多項式x16 + x15 + x2 + 1,十六進制表示為0x8005。crc16常見的表格中的數(shù)據(jù)是按照先傳輸lsb,消息右移進寄存器來計算的。因此需要判斷寄存器的最低位lsb,同時要將0x8005按位顛倒后(0xa001)根據(jù)
2、lsb的情況決定是否與寄存器異或即可。crc16的表格中對應的數(shù)依次為0255計算出來的crc值,因此,此處只選取其中一兩個數(shù)作為實例計算crc值。具體步驟如下所示:1)從0255中選取需要計算的數(shù),將其對應的十六進制數(shù)放入一個長度為16的寄存器的低八位,高八位填充0; 2)如果寄存器的末位lsb為1,將寄存器的數(shù)值右移1位,再與0xa001位異或,否則僅將寄存器右移1位; 3)重復第2步,直到低八位全部右移出寄存器; 4)寄存器中的值則為校驗碼。從0255中挑選2(對應0x02)計算其crc值:0x02的crc-16的表格計算(反向)00000000 00000010-最低位lsb=0, 高
3、八位填充000000000 000000010右移,高位填充0,并舍棄最后一位- 第一次計算 00000000 00000001 -lsb=100000000 000000001 右移,舍棄最后一位1010000000000001-與0xa001異或- 第二次 10100000 00000001-lsb=1 01010000 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第三次 11110000 00000001-lsb=1 01111000 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第四次 110
4、11000 00000001-lsb=1 01101100 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第五次 11001100 00000001-lsb=1 01100110 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第六次 11000110 00000001-lsb=101100011 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第七次 11000011 00000001-lsb=1 01100001 100000001右移,舍棄最后一位1010
5、000000000001-與0xa001異或- 一共右移了八次,得到的結果為crc11000001 10000001-crc: 0xc1 81 從本文最后的附表中可以看出auchcrchi的第三個值就是0x 81,auchcrclo的第三個值就是0xc1,可見計算無誤。另一個計算實例,從0255中挑選11(對應0x0b)計算其crc值:0x0b的crc-16的表格計算(反向)00000000 00001011-最低位lsb=1, 高八位填充000000000 000001011右移,高位填充0,并舍棄最后一位1010000000000001-與0xa001異或- 第一次計算 10100000
6、00000100 -lsb=001010000 000000100 右移,舍棄最后一位- 第二次 01010000 00000010-lsb=0 00101000 000000010右移,舍棄最后一位- 第三次 00101000 00000001-lsb=1 00010100 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第四次 10110100 00000001-lsb=1 01011010 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第五次 11111010 00000001-lsb=1 0111
7、1101 000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第六次 11011101 00000001-lsb=101101110 1000000001右移,舍棄最后一位1010000000000001-與0xa001異或- 第七次 11001110 10000001-lsb=1 01100111 010000001右移,舍棄最后一位1010000000000001-與0xa001異或- 一共算八次,得到的結果為crc11000111 01000001-crc: 0xc7 41從本文最后的附表中可以看出auchcrchi的第12個值就是0x 41,au
8、chcrclo的第12個值就是0xc7,可見計算無誤。附:crc-16的crc數(shù)值表const unsigned char auchcrchi = 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0,0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1,
9、0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01,0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41,0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81,0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x0
10、1, 0xc0,0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01,0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40,0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40, 0x00, 0xc1, 0x81, 0
11、x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0,0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01,0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41,0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0
12、, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0,0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01,0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41,0x
13、00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81,0x40 ;const unsigned char auchcrclo = 0x00, 0xc0, 0xc1, 0x01, 0xc3, 0x03, 0x02, 0xc2, 0xc6, 0x06, 0x07, 0xc7, 0x05, 0xc5, 0xc4,0x04, 0xcc, 0x0c, 0x0d, 0xcd, 0x0f, 0xcf, 0xce, 0x0e, 0x0a, 0xca, 0xcb, 0x0b, 0xc9, 0x
14、09,0x08, 0xc8, 0xd8, 0x18, 0x19, 0xd9, 0x1b, 0xdb, 0xda, 0x1a, 0x1e, 0xde, 0xdf, 0x1f, 0xdd,0x1d, 0x1c, 0xdc, 0x14, 0xd4, 0xd5, 0x15, 0xd7, 0x17, 0x16, 0xd6, 0xd2, 0x12, 0x13, 0xd3,0x11, 0xd1, 0xd0, 0x10, 0xf0, 0x30, 0x31, 0xf1, 0x33, 0xf3, 0xf2, 0x32, 0x36, 0xf6, 0xf7,0x37, 0xf5, 0x35, 0x34, 0xf4,
15、0x3c, 0xfc, 0xfd, 0x3d, 0xff, 0x3f, 0x3e, 0xfe, 0xfa, 0x3a,0x3b, 0xfb, 0x39, 0xf9, 0xf8, 0x38, 0x28, 0xe8, 0xe9, 0x29, 0xeb, 0x2b, 0x2a, 0xea, 0xee,0x2e, 0x2f, 0xef, 0x2d, 0xed, 0xec, 0x2c, 0xe4, 0x24, 0x25, 0xe5, 0x27, 0xe7, 0xe6, 0x26,0x22, 0xe2, 0xe3, 0x23, 0xe1, 0x21, 0x20, 0xe0, 0xa0, 0x60, 0x6
16、1, 0xa1, 0x63, 0xa3, 0xa2,0x62, 0x66, 0xa6, 0xa7, 0x67, 0xa5, 0x65, 0x64, 0xa4, 0x6c, 0xac, 0xad, 0x6d, 0xaf, 0x6f,0x6e, 0xae, 0xaa, 0x6a, 0x6b, 0xab, 0x69, 0xa9, 0xa8, 0x68, 0x78, 0xb8, 0xb9, 0x79, 0xbb,0x7b, 0x7a, 0xba, 0xbe, 0x7e, 0x7f, 0xbf, 0x7d, 0xbd, 0xbc, 0x7c, 0xb4, 0x74, 0x75, 0xb5,0x77, 0xb7, 0xb6, 0x76, 0x72, 0xb2, 0xb3, 0x73, 0xb1, 0x71, 0x70, 0xb0, 0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9c, 0x5c,0x5d, 0x9d,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新一代大學英語(第二版)綜合教程1-U3-教師用書 Unit 3 Culture Counts
- 家具制造業(yè)原材料價格波動應對2025年產(chǎn)業(yè)鏈整合策略報告
- 2025年醫(yī)藥流通企業(yè)供應鏈優(yōu)化與成本控制創(chuàng)新策略報告
- 特色農(nóng)產(chǎn)品冷鏈物流中心建設對農(nóng)村經(jīng)濟發(fā)展的推動作用報告
- 新能源商用車型號2025年市場需求與電動物流車售后服務滿意度研究報告
- 磅房安全培訓試題及答案
- 傳統(tǒng)食品工業(yè)化生產(chǎn)2025年智能檢測技術改造與創(chuàng)新案例報告
- 安全生產(chǎn)管理知識試題及答案
- 快時尚行業(yè)在2025年時尚零售市場中的品牌合作與跨界營銷報告
- 2025年土壤污染修復技術土壤修復藥劑市場發(fā)展趨勢報告
- 2025年江西省中考英語試卷真題(含標準答案及解析)
- 2025年有限空間作業(yè)安全知識測試試卷
- 2025年數(shù)字內(nèi)容創(chuàng)作師資格考試試卷及答案
- 胖東來投訴管理制度
- 傳染病知識培訓課件
- 2024-2025新入職員工安全培訓考試試題及完整答案【一套】
- 人教版二年級數(shù)學下冊期末測試卷(5篇)
- 2025年湖南融通資源循環(huán)產(chǎn)業(yè)有限公司技能崗位招聘題庫帶答案分析
- CJ/T 340-2016綠化種植土壤
- 新能源汽車全生命周期碳足跡測算模型及減排策略
- 楊梅承包合同協(xié)議書
評論
0/150
提交評論