新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > CRC工作原理及算法研究

CRC工作原理及算法研究

作者: 時間:2012-05-16 來源:網絡 收藏

 return (accum);

本文引用地址:http://m.butianyuan.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

評論


相關推薦

技術專區(qū)

關閉