CRC校驗之查表法C語言實現

2021-09-12 08:05:49 字數 796 閱讀 7711

本文主要參考: ,實現查表法快速計算crc7. 

crc7應用在sd、mmc的資料校驗,生成多項式x^7 + x^3 + 1,生成的校驗值為7bit.很容易想到資料以 1byte 為單位進行計算比較方便.

c語言**實現

#include #include#includeusing namespace std;

const int tab_len=256;

const int alpha=0x09;

int table_gen8(unsigned char *buf)

return 0;

}unsigned char get_crc7(unsigned char start, const unsigned char *buff, int len, unsigned char *table)

return accu;

}int main();

int i,j;

printf("crc7 table:\n");

table_gen8(data);

for(i=0;iprintf("\n");

/*test*/

const unsigned char testdat[11] = "0123456789";

unsigned char result;

result = get_crc7(0, testdat, 10, data);

printf("get_crc7:0x%02x\n",result);

return 0;

}

c語言實現CRC校驗和

下面我就將今天的demo 簡單的注釋一下 在傳送方的buffer 22 中,前二十個資料為要傳送的資料,而後兩位即buffer 20 和buffer 21 中的資料就是函式int calcrc int crc,const char buf,int len 產生的crc校驗和。如下 intmain i...

CRC冗餘校驗的C語言實現

crc即迴圈冗餘校驗 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。對於16位迴圈冗餘效驗 crc 16...

CRC校驗的理解和C語言實現

1 crc是什麼 crc檢驗的基本思想是利用線性編碼理論,在傳送端根據要傳送的k位二進位製碼序列,以一定的規則產生乙個檢驗碼r位 就是crc碼 附在資訊後面,構成乙個新的二進位製碼序列數共 k r 位,最後傳送出去。接收端根據同樣的規則校驗,以確定傳送中是否出錯。接收端有兩種處理方式 1 計算k位序...