CRC16的代码段

来源:互联网 发布:ubuntu输入法不对 编辑:程序博客网 时间:2024/05/21 18:30
/* @func crc16
  * @input array pointer and numbers of array
  * @output crc result
  ******************************************************************************
  * @description
  *
  * 
  *
  ******************************************************************************
  */
uint16_t crc16(uint8_t *p, uint8_t num)
{
  uint8_t i,j,k;
  uint16_t crc16;
  crc16 = 0xffff;
  for(j = 0;j < num;j++)
  {
    crc16 ^= *p++;
    for(i = 0;i < 8;i++)
    {
      k = crc16&0x01;
      crc16 >>= 1;
      if(k) crc16 ^= 0xa001;
    }
  }
  return crc16;
原创粉丝点击