CRC筆記 CRC 16 DNP C語言實現

2021-10-13 16:31:02 字數 1066 閱讀 3523

[參考資料]

暫無。crc演算法名稱

crc-16/dnp

多項式公式

x16 + x13 + x12 + x11 + x10 + x8 + x6 + x5 + x2 + 1

寬度width

16多項式poly

0x3d65

初始值init

0x0000

輸入反轉refin

true

輸出反轉refout

true

輸出結果異或值xorout

0xffff

check

0xea82

residue

0x66c5

/* crc余式表 */

const

unsigned

int crc_table[

256]=;

//查表法計算crc

unsigned

short

do_crc_table

(unsigned

char

*ptr,

int len)

crc ^

=0xffff

;return

(crc)

;}

//直接計算法計算crc

unsigned

short

do_crc

(unsigned

char

*ptr,

int len)

}return

~crc;

}

//測試資料

unsigned

char test_buff=

;int

main

(int argc,

char

* ar**)

測試結果

crc-16/dnp : 0x4472

crc-16/dnp : 0x4472

crc reveng

碼crc校驗 CRC16校驗計算流程

首先再次確認計算步驟 1 預置1個16位的暫存器為十六進製制ffff 即全為1111 1111 1111 1111 稱此暫存器為crc暫存器 2 把第乙個位轉換成8位二進位制資料 既通訊資訊幀的第乙個位元組 與16位的crc暫存器的低8位相異或,把結果放於crc暫存器,高八位資料不變 3 把crc暫...

CRC 16校驗原理

1 迴圈校驗碼 crc碼 是資料通訊領域中最常用的一種差錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。2 生成crc 碼的基本原理 任意乙個由二進位制位串組成的 都可以和乙個係數僅為 0 和 1 取值的多項式一一對應。例如 1010111 對應的多項式為x6 x4 x2 x 1 而多項式為...

crc16碼表的使用 查表法計算CRC16校驗值

crc16是微控制器程式中常用的一種校驗演算法。依據所採用多項式的不同,得到的結果也不相同。常用的多項式有crc 16 ibm和crc 16 ccitt等。本文 採用的多項式為crc 16 ibm x16 x15 x2 1。閒言少敘,下面是查表法計算crc16的 檔名稱 crc16.c 簡要描述 c...