




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上CRC16校驗C語言程序源碼 (附完整的可執(zhí)行的C語言代碼)/CRC16校驗在通訊中應(yīng)用廣泛,這里不對其理論進行討論,只對常見的2種/實現(xiàn)方法進行測試。方法一:查表法(256長度的校驗表) 速度快,準確,但是對于單片機設(shè)備存儲占用大,且校驗表長度大,輸入時容易出現(xiàn)錯誤。/ - POPULAR POLYNOMIALS -/ CCITT: x16 + x12 + x5 + x0
2、60; (0x1021)/ CRC-16: x16 + x15 + x2 + x0 (0x8005)#define CRC_16_POLYNOMIALS 0
3、x8005const BYTE chCRCHTalbe = / CRC 高位字節(jié)值表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, 0x
4、01, 0xC0, 0x80, 0x41,0x00, 0xC1, 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,
5、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, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1,
6、 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, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x0
7、0, 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, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0
8、x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40;const BYTE chCRCLTalbe = / CRC 低位字節(jié)值表0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,0x05, 0xC5, 0xC4
9、, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 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, 0x
10、30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 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,
11、0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 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
12、, 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, 0x5F, 0x9F, 0x9E, 0x5E,0x5A, 0x9
13、A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89,0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,0x41, 0x81, 0x80, 0x40;WORD CRC16_1(BYTE* pchMsg, WORD wDataLen)
14、160; BYTE chCRCHi = 0xFF; / 高CRC字節(jié)初始化 BYTE chCRCLo = 0xFF; / 低CRC字節(jié)初始化 WORD wIndex; / CRC循環(huán)中的索引 while
15、(wDataLen-) / 計算CRC wIndex = chCRCLo *pchMsg+ ;
16、 chCRCLo = chCRCHi chCRCHTalbewIndex; chCRCHi = chCRCLTalbewIndex ;
17、60; return (chCRCHi << 8) | chCRCLo) ;方法一:列表法(簡單表)const WORD wCRCTalbeAbs =0x0000, 0xCC01, 0xD801, 0x1400, 0xF001, 0x3C00, 0x2800, 0xE401, 0xA001, 0x6C00, 0x7800, 0xB401, 0x5000, 0x9C01, 0x8801, 0x4400, ;WORD CRC16_2(BYTE* pchMsg, WORD wDataLen) WORD w
18、CRC = 0xFFFF; WORD i; BYTE chChar; for (i = 0; i < wDataLen; i+)
19、0; chChar = *pchMsg+; wCRC = wCRCTalbeAbs(chChar wCRC) & 15 (wCRC >> 4); wCRC = wCRCTa
20、lbeAbs(chChar >> 4) wCRC) & 15 (wCRC >> 4); return wCRC;方法二:定義法 根據(jù)CRC16/MODBUS原理直接計算,算法簡單但對單片機計算壓力大。WORD CRC16_3(BYTE* pchMsg, WORD wDataLen) BYTE i, chChar;
21、 WORD wCRC = 0xFFFF; while (wDataLen-) chChar = *pchMsg+;
22、160; chChar = ByteInvert(chChar); wCRC = (WORD) chChar) << 8);
23、0; for (i = 0; i < 8; i+) if (wCRC & 0x8000)
24、160; wCRC = (wCRC << 1) CRC_16_POLYNOMIALS;
25、; else wCRC <<= 1;
26、 wCRC = WordInvert(wCRC); return wCRC;/試驗數(shù)據(jù):/ 采用Metrowerks CodeWarrior在DSP56F80x平臺上,對這3種
27、方法/進行了性能測試。/ -/ 代碼大小(字) 額外存儲空間(字) 執(zhí)行時間(周期數(shù))/ -/ 方法1 32 512 540/ 方法2 57 &
28、#160;16 1120/ 方法3 142* 0 4598/附一個完整的C語言代碼#include <stdio.h>void InvertUint8(unsigned char *dBuf,unsigned char *srcBuf) int i;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)電臺活動策劃方案
- 2025-2030工業(yè)軟件云化轉(zhuǎn)型與制造業(yè)know-how沉淀及訂閱制商業(yè)模式驗證報告
- 大理農(nóng)村送禮活動方案
- 2025-2030農(nóng)業(yè)無人機作業(yè)效率提升與服務(wù)模式創(chuàng)新研究
- 大班沙龍活動方案
- 大連公司年會策劃方案
- 2025-2030中國自動駕駛技術(shù)應(yīng)用市場前景與投資戰(zhàn)略研究報告
- 2025-2030中國綠色債券發(fā)行主體信用風險與定價機制研究
- 大佛寺工會活動方案
- 夏季女鞋活動方案
- 混凝土襯砌(二襯)專項施工方案
- DB64-T 1999.1-2024 國土空間生態(tài)修復(fù)工程建設(shè)標準 第1部分:國土整治
- 湖北省黃岡市黃州區(qū)2023-2024學(xué)年六年級下學(xué)期期末考試英語試題
- 國家開放大學(xué)《初級經(jīng)濟學(xué)》形考任務(wù)1-3參考答案
- TYNZYC 0095-2022 綠色藥材 金果欖(青牛膽)栽培技術(shù)規(guī)程
- 2024年廣西壯族自治區(qū)中考歷史真題(含解析 )
- 幼兒園戶外混齡建構(gòu)游戲案例分析
- 電線老化檢測委托
- 創(chuàng)業(yè)修煉智慧樹知到期末考試答案章節(jié)答案2024年同濟大學(xué)
- JGJ52-2006 普通混凝土用砂、石質(zhì)量及檢驗方法標準
- FFU龍骨吊頂防墜研究及應(yīng)用-2023.12.11王國棟修
評論
0/150
提交評論