ADI 技术
直播中

李子崴

7年用户 160经验值
私信 关注
[问答]

请问在使用AD7768的时候,怎么做CRC检验?

大家好,在使用AD7768的时候,怎么做CRC检验?我按照手册上来做的时候,等不到ADC输出的检验值。但我按照官网上的AD7779 CRC CALCULATOR 却能等到相应的值。我就是按照这个方式来做的:循环冗余校验确保正确 的数据通信 | 亚德诺半导体。待会儿可以上传代码。
谢谢!

回帖(1)

丁浩

2018-8-1 08:57:26
AD7779和AD7768的CRC的算法一样,应该是你的CRC函数写错了。下面的函数供参考:
#define AD7768_CRC8_POLYNOMIAL_REPRESENTATION 0x07
unsigned char AD7768_ComputeCRC8(unsigned long * pBuf, unsigned short bufSize)
{
unsigned long i   = 0;
unsigned char crc = 0xFF;//***
while(bufSize)
{
  for(i = 0x800000; i != 0x000000; i >>= 1)
  {
   if(((crc & 0x80) != 0) != ((*pBuf & i) != 0)) /* MSB of CRC register XOR input Bit from Data */
   {
    crc <<= 1;
    crc ^= AD7768_CRC8_POLYNOMIAL_REPRESENTATION;
   }
   else
   {
    crc <<= 1;
   }
  }
  pBuf++;
  bufSize--;
}
return crc;
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分