?? crc_16.c
字號:
#define crc_16_c
#include "main.h"
//Polynomial: x^16 + x^12 + x^5 + 1
void crc16(unsigned char r_data[],unsigned int length)
{
unsigned char cl,ch;
unsigned char savehi,savelo;
int ii,flag;
crc16hi=0xFF;
crc16lo=0xFF;
cl=0x1;
ch=0xA0;
for (ii=0;ii<length-2;ii++)
{
crc16lo=(crc16lo ^ r_data[ii]);
for (flag=0;flag<8;flag++)
{
savehi=crc16hi;
savelo=crc16lo;
crc16hi=(crc16hi>>1);
crc16lo=(crc16lo>>1);
if ((savehi & 0x01)==0x01)
crc16lo=(crc16lo | 0x80);
if ((savelo & 0x01)==0x01)
{
crc16hi = (crc16hi ^ ch);
crc16lo = (crc16lo ^ cl);
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -