Telink TLSR8232 BLE SDK Developer Handbook
AN-19112700-E1
210
Ver.1.0.0
Appendix
Appendix 1: crc16 Algorithm
unsigned short
crc16
(
unsigned char
*pD,
int
len)
{
static unsigned short
poly[2]={0, 0xa001};
unsigned short
crc = 0xffff;
unsigned char
ds;
int
i,j;
for
(j=len; j>0; j--)
{
unsigned char
ds = *pD++;
for
(i=0; i<8; i++)
{
crc = (crc >> 1) ^ poly[(crc ^ ds ) & 1];
ds = ds >> 1;
}
}
return
crc;
}