unsigned char uchCRCHi = 0xFF ; /* high byte of CRC initialized */
unsigned char uchCRCLo = 0xFF ; /* low byte of CRC initialized */
unsigned uIndex ; /* will index into CRC lookup table */
unsigned short usVal1;
unsigned short usVal2;
while (usDataLen--)/* pass through message buffer */
{
uIndex = uchCRCHi ^ *puchMsg; //++ ; /* calculate the CRC */
puchMsg++ ;
uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex];
uchCRCLo = auchCRCLo[uIndex] ;
}
usVal1 = uchCRCHi;
usVal2 = uchCRCLo;
usVal1 = usVal1 << 8;
usVal1 = usVal1 | usVal2;
return usVal1; //( ((unsigned short)uchCRCHi << 8) | (unsigned short)uchCRCLo) ;
}
www.nano-sense.com
All Rights Reserved
02
Tel : 33 (0)1 41 41 00
page 26