这段CRC算法是什么意思

2019-07-15 20:00发布

虽说懂原理,但是这算法还不理解/*******************************************************************/
/*                                                                 */
/*DS18B20的CRC8校验程序                                            */
/*                                                                 */
/*******************************************************************/
uchar CRC8()
{
   uchar i,x; uchar crcbuff;

   crc=0;
   for(x = 0; x <8; x++)
   {
    crcbuff=RomCode[x];
    for(i = 0; i < 8; i++)
     {
      if(((crc ^ crcbuff)&0x01)==0)
      crc >>= 1;
       else {
              crc ^= 0x18;   //CRC=X8+X5+X4+1
              crc >>= 1;
              crc |= 0x80;
            }         
      crcbuff >>= 1;      
         }
   }
     return crc;       
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。