一个不错的校验代码

2020-01-21 21:38发布

本帖最后由 ackyee 于 2014-11-29 19:45 编辑

一直都拿论坛的资料,这回自己也奉献一点:
一个不错的校验代码。 参考TI的CC2530官方例程得到。稍作了些调整
供大家学习交流之用

第一个函数是进行数组+校验字的 校验计算
第二个函数是根据数组计算校验字

该代码可以在串口传输,EEPROM存储等场合应用

PS 第一次在论坛传代码,好像[]在发布后会自动消失
下面的代码将数组[]特地加了空格处理,需要参考的朋友在编译过程中要自行调整


unsigned char CrcValid(unsigned char *pData, int length)
{
        int crc = 0;
        unsigned int i;
        for(i = 0; i < length; i++){
                crc ^= pData [ i ];
        }

        return (crc == 0);
}

unsigned char calcFCS(unsigned char *pBuf, unsigned char len)
{
  unsigned char rtrn = 0;

  while (len--)
  {
    rtrn ^= *pBuf++;
  }

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