新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CRC算法及工作原理

        CRC算法及工作原理

        作者: 時間:2010-08-23 來源:網絡 收藏

          return (accum);

          }

          /* 函數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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宝鸡市| 贵州省| 繁峙县| 南充市| 东丽区| 大悟县| 阳信县| 贵定县| 神木县| 平陆县| 新源县| 大姚县| 西充县| 合作市| 客服| 岑巩县| 来凤县| 龙游县| 克拉玛依市| 陵水| 麻江县| 云和县| 英吉沙县| 伊川县| 东乌珠穆沁旗| 灵璧县| 留坝县| 大宁县| 商丘市| 临夏市| 和林格尔县| 年辖:市辖区| 民县| 常德市| 盈江县| 合阳县| 正安县| 边坝县| 南华县| 海南省| 九龙县|