91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 26KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: C/C++
  • 標簽: CRC16??

資源簡介

收集整理最全的CRC16計算,C語言代碼,包括CRC16-IBM/CRC16-MAXIM/CRC16-USB/CRC16-MODBUS/CRC16-CCITT/CRC16-CCITT-FALSE/CRC16-X25/CRC16-XMODEN/CRC16-DNP。 每種代碼都包含查表和計算方式。還可以計算CRC表并打印。 有其它自定義CRC16參數可直接修改參數計算器使用,也可修改參數打印CRC表,再用做查表計算。

資源截圖

代碼片段和文件信息

/******************************************
最全CRC16計算代碼
含CRC16-IBM/CRC16-MAXIM/CRC16-USB/CRC16-MODBUS/CRC16-CCITT/CRC16-CCITT-FALSE/CRC16-X25/CRC16-XMODEN/CRC16-DNP。
定義?_CRC16_LOOKUP_TAB?表示使用查表計算,?調用crc16_cal(u8?*pu16?len);
定義?_CRC16_COMPUTATION?表示使用直接計算,調用crc16_cal(u8?*pu16?len);
定義?_CRC16_CAL_TAB表示打印CRC表調用?crc16_tab_cal();

下面定義選擇CRC類型
//#define?CRC16_IBM???//CAL?PASS/TAB?PASS
//#define?CRC16_MAXIM?//CAL?PASS/TAB?PASS
//#define?CRC16_USB??????//CAL?PASS/TAB?PASS
//#define?CRC16_MODBUS??//??CAL?PASS?/?TAB?PASS
//#define?CRC16_CCITT?????//CAL?PASS??/?TAB?PASS
#define?CRC16_CCITT_FALSE???//CAL?PASS?/TAB?PASS
//#define?CRC16_X25???//CAL?PASS/TAB?PASS
//#define?CRC16_XMODEN????//CAL?PASS??/TAB?PASS??(SSCOM?CCITT?為XMODEN)
//#define?CRC16_DNP?????//CAL?PASS?/TABP?ASS

有其它自定義校驗參數,可直接修改參數
????#define?CRC_POLY?0x8005?//CRC?多項式
????#define?CRC_INIT?0xFFFF?//CRC?初始值
????#define?CRC_XOROUT??0x0000???//CRC?結果異或值
????#define?REFIN???1???????//輸入反轉標志
????#define?REFOUT??1???????//輸出反轉標志
*******************************************/
///////////////////CRC/////////////

//#define?_CRC16_COMPUTATION
#define?_CRC16_LOOKUP_TAB
//#define?_CRC16_CAL_TAB??//計算CRC16表并打印

///////////////////////
//#define?CRC16_IBM???//CAL?PASS/TAB?PASS
//#define?CRC16_MAXIM?//CAL?PASS/TAB?PASS
//#define?CRC16_USB??????//CAL?PASS/TAB?PASS
//#define?CRC16_MODBUS??//??CAL?PASS?/?TAB?PASS
//#define?CRC16_CCITT?????//CAL?PASS??/?TAB?PASS
#define?CRC16_CCITT_FALSE???//CAL?PASS?/TAB?PASS
//#define?CRC16_X25???//CAL?PASS/TAB?PASS
//#define?CRC16_XMODEN????//CAL?PASS??/TAB?PASS??(SSCOM?CCITT?為XMODEN)
//#define?CRC16_DNP?????//CAL?PASS?/TABP?ASS

#ifdef?CRC16_IBM
????#define?CRC_POLY?0x8005?//CRC?多項式
????#define?CRC_INIT?0x0000?//CRC?初始值
????#define?CRC_XOROUT??0x0000????//CRC?結果異或值
????#define?REFIN???1???????//輸入反轉標志
????#define?REFOUT??1???????//輸出反轉標志
#ifdef?_CRC16_LOOKUP_TAB
u16?CRC16_IBM_TAB[256]?=?{
????0x0000?0xC0C1?0xC181?0x0140?0xC301?0x03C0?0x0280?0xC241?0xC601?0x06C0?0x0780?0xC741?0x0500?0xC5C1?0xC481?0x0440
????0xCC01?0x0CC0?0x0D80?0xCD41?0x0F00?0xCFC1?0xCE81?0x0E40?0x0A00?0xCAC1?0xCB81?0x0B40?0xC901?0x09C0?0x0880?0xC841
????0xD801?0x18C0?0x1980?0xD941?0x1B00?0xDBC1?0xDA81?0x1A40?0x1E00?0xDEC1?0xDF81?0x1F40?0xDD01?0x1DC0?0x1C80?0xDC41
????0x1400?0xD4C1?0xD581?0x1540?0xD701?0x17C0?0x1680?0xD641?0xD201?0x12C0?0x1380?0xD341?0x1100?0xD1C1?0xD081?0x1040
????0xF001?0x30C0?0x3180?0xF141?0x3300?0xF3C1?0xF281?0x3240?0x3600?0xF6C1?0xF781?0x3740?0xF501?0x35C0?0x3480?0xF441
????0x3C00?0xFCC1?0xFD81?0x3D40?0xFF01?0x3FC0?0x3E80?0xFE41?0xFA01?0x3AC0?0x3B80?0xFB41?0x3900?0xF9C1?0xF881?0x3840
????0x2800?0xE8C1?0xE981?0x2940?0xEB01?0x2BC0?0x2A80?0xEA41?0xEE01?0x2EC0?0x2F80?0xEF41?0x2D00?0xEDC1?0xEC81?0x2C40
????0xE401?0x24C0?0x2580?0xE541?0x2700?0xE7C1?0xE681?0x2640?0x2200?0xE2C1?0xE381?0x2340?0xE101?0x21C0?0x2080?0xE

評論

共有 條評論