一个不错的校验代码

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;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
dgtg
1楼-- · 2020-01-23 11:24
 精彩回答 2  元偷偷看……
与狼共舞
2楼-- · 2020-01-23 16:53
不错,收藏了
@lonely
3楼-- · 2020-01-23 17:42
farfar 发表于 2014-11-29 16:15
這是校驗和吧?爲什麽名字卻是CRC?

CRC经验               

一周热门 更多>