新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CRC工作原理及算法研究

CRC工作原理及算法研究

作者:时间:2012-05-16来源:网络收藏

 return (accum);

本文引用地址:http://www.eepw.com.cn/article/149044.htm

  }

  /* 函数mk-crctbl利用函数crchware建立内存中的数值表 */

  unsigned short *mk-crctbl(poly,crcfn);

  unsigned short poly;/* 除数--生成多项式 */

  R>unsigned short (*crcfn)();/* 指向CRC函数(例如crchware)的指针 */

  {

  /* unsigned short */malloc(); */

  unsigned short *crctp;

  int i;

  if((crctp=(unsigned short*)malloc(256*sizeof(unsigned)))==0)

  return 0;

  for(i=0;i256;i++)

  crctp=(*crcfn)(i,poly,0);

  return crctp;

  }

  /* 函数mk-crctbl的使用范例 */

  if((crctblp=mk-crctbl(CRCCCITT,crchware))==NIL)

  {

  puts(insuff memory for CRC lookup table.n);

  return 1; */

  /* 函数crcupdate用以用查表法计算CRC值并更新CRC累加器值 */

  void crcupdate(data,accum,crctab)

  unsigned short data;/* 输入的数据 */

  unsigned short *accum;/* 指向CRC累加器的指针 */

  unsigned short *crctab;/* 指向内存中CRC表的指针 */

  {

  static short comb-val;

  comb-val=(*accum>>8)^data;

  *accum=(*accum8)^crctab[comb-val];

  }



关键词: 研究 算法 原理 工作 CRC

评论


相关推荐

技术专区

关闭