#include <stdio.h>
unsigned char crc8(unsigned char *data, int length) //function of calculate the Key
{
unsigned char t_crc;
int f, b;
t_crc = 0xFF;
for (f = 0; f < length; f++)
{
t_crc ^= data[f];
for (b = 0; b < 8; b++)
{
if ((t_crc & 0x80) != 0)
{
t_crc <<= 1;
t_crc ^= 0x1D;
}
else
{
t_crc <<= 1;
}
}
}
return ~t_crc;
}
int main()
{
unsigned char data[4]={0xFF, 0xFF ,0xFF,0XFF};
int length=4;
unsigned char t_crc;
t_crc=crc8(data,length);
printf("\r\nCRC8_SA=%02X\r\n", t_crc);
}