编辑代码


#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);
}