在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>數(shù)據(jù)通信>

8位crc校驗(yàn)分析及程序

2017年12月04日 10:28 網(wǎng)絡(luò)整理 作者: 用戶評論(0

  CRC 中的生成多項(xiàng)式,是有很多標(biāo)準(zhǔn)的。其統(tǒng)一的規(guī)律是:最高位、最低位都為1。8位CRC校驗(yàn)通常用的是CRC-8,其生成多項(xiàng)式為:107H = 1 0000 0111B進(jìn)行異或運(yùn)算時,最高位,就算是移出去了,因此,只用 07H 進(jìn)行異或計(jì)算即可。

  CRC校驗(yàn)實(shí)用程序庫 在數(shù)據(jù)存儲和數(shù)據(jù)通訊領(lǐng)域,為了保證數(shù)據(jù)的正確,就不得不采用檢錯的手段。在諸多檢錯手段中,CRC是最著名的一種。CRC的全稱是循環(huán)冗余校驗(yàn),其特點(diǎn)是:檢錯能力極強(qiáng),開銷小,易于用編碼器檢測電路實(shí)現(xiàn)。從其檢錯能力來看,它所不能發(fā)現(xiàn)的錯誤的幾率僅為0.0047%以下。

  從性能上和開銷上考慮,均遠(yuǎn)遠(yuǎn)優(yōu)于奇偶校驗(yàn)及算術(shù)和校驗(yàn)等方式。因而,在數(shù)據(jù)存儲和數(shù)據(jù)通訊領(lǐng)域,CRC無處不在:著名的通訊協(xié)議X.25的FCS(幀檢錯序列)采用的是CRC-CCITT,WinRAR、NERO、ARJ、LHA等壓縮工具軟件采用的是CRC32,磁盤驅(qū)動器的讀寫采用了CRC16,通用的圖像存儲格式GIF、TIFF等也都用CRC作為檢錯手段。下面介紹硬件生成與計(jì)算CRC的過程。

  8位CRC校驗(yàn)程序

  //本程序是完成CRC-8的方程式為X^8+X^2+X+1的源代碼,經(jīng)調(diào)試后正確通過!

  #include “reg52.h”

  #define CRCnum 5

  char CRCArray[CRCnum]={0x16,0x0f,0x17,0xe9,0x03};//需要CRC計(jì)算一串?dāng)?shù)0x160f17e903

  unsigned char cal_crc(unsigned char *ptr, unsigned char len);

  void main()

  {

  char CRC;

  CRC=cal_crc(CRCArray,CRCnum);//得到CRC的代碼

  }

  unsigned char cal_crc(unsigned char *ptr, unsigned char len)

  {

  unsigned char i; unsigned char crc=0; while(len--!=0)

  {

  for(i=0x80; i!=0; i/=2)

  {

  if((crc&0x80)!=0)

  {

  crc*=2; crc^=0x07;

  } /* 余式CRC乘以2再求CRC */

  else

  crc*=2;

  if((*ptr&i)!=0)

  crc^=0x07; /* 再加上本位的CRC */ } ptr++;

  }

  return(crc);

  }

  CRC8位校驗(yàn)程序分析

  crc8校驗(yàn)查表法實(shí)現(xiàn)方法——查表法 生成多項(xiàng)式X^8+X^6+X^4+X^3+X^2+X^1

  const uchar crctable[] = {

  0, 94,188,226, 97, 63,221,131,194,156,126, 32,163,253, 31, 65,

  157,195, 33,127,252,162, 64, 30, 95, 1,227,189, 62, 96,130,220,

  35,125,159,193, 66, 28,254,160,225,191, 93, 3,128,222, 60, 98,

  190,224, 2, 92,223,129, 99, 61,124, 34,192,158, 29, 67,161,255,

  70, 24,250,164, 39,121,155,197,132,218, 56,102,229,187, 89, 7,

  219,133,103, 57,186,228, 6, 88, 25, 71,165,251,120, 38,196,154,

  101, 59,217,135, 4, 90,184,230,167,249, 27, 69,198,152,122, 36,

  248,166, 68, 26,153,199, 37,123, 58,100,134,216, 91, 5,231,185,

  140,210, 48,110,237,179, 81, 15, 78, 16,242,172, 47,113,147,205,

  17, 79,173,243,112, 46,204,146,211,141,111, 49,178,236, 14, 80,

  175,241, 19, 77,206,144,114, 44,109, 51,209,143, 12, 82,176,238,

  50,108,142,208, 83, 13,239,177,240,174, 76, 18,145,207, 45,115,

  202,148,118, 40,171,245, 23, 73, 8, 86,180,234,105, 55,213,139,

  87, 9,235,181, 54,104,138,212,149,203, 41,119,244,170, 72, 22,

  233,183, 85, 11,136,214, 52,106, 43,117,151,201, 74, 20,246,168,

  116, 42,200,150, 21, 75,169,247,182,232, 10, 84,215,137,107, 53};

  備注:在數(shù)據(jù)傳輸中CRC或傳過來的數(shù)據(jù),可能低字節(jié)在前,高字節(jié)在后,這就造成查表法表中被查數(shù)據(jù)不同。

  unsigned char crc_array[256] = {

  0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83,

  0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41,

  0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e,

  0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc

  0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0,

  0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62,

  0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d,

  0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff,

  0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5,

  0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07,

  0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58,

  0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a,

  0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6,

  0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24,

  0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b,

  0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9,

  0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f,

  0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd,

  0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92,

  0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50,

  0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c,

  0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee,

  0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1,

  0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73,

  0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49,

  0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b,

  0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4,

  0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16,

  0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a,

  0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8,

  0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7,

  0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35,

  };

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發(fā)表人:龔婷 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 草草影院www色极品欧美 | 妖精视频永久在线入口 | 3344成年在线视频免费播放男男 | 亚洲福利视频一区 | 在线观看一二三区 | 免费公开在线视频 | 日本一区二区视频在线观看 | 很黄很暴力 很污秽的小说 很黄很黄叫声床戏免费视频 | 六月婷婷导航福利在线 | 国产五月婷婷 | 种子天堂bt磁力在线资源 | 深爱五月激情 | 特级毛片免费视频观看 | 亚洲深夜| 欧美人与牲动交xxxxbbbb | 中文字幕有码在线视频 | 成人午夜小视频手机在线看 | 欧美一级免费 | 亚洲国产精品嫩草影院 | 成人在线天堂 | 天堂网bt| 亚洲午夜久久久精品影院 | 日本黄色录像 | 免费又黄又爽1000禁片 | 黑色丝袜美美女被躁视频 | 狠狠色狠狠色综合网 | 日本大片在线看 | 嗯!啊!使劲用力在线观看 | ts国产| 女同性大尺度床戏视频 | 一级做a爰片久久毛片一 | 日韩一级欧美一级在线观看 | 四虎网站在线播放 | 男女草逼视频 | 国产视频国产 | 狠狠操狠狠摸 | 好紧好爽太大了h视频 | 天天射天天射天天干 | a一级视频 | 韩国三级视频在线观看 | 精品免费福利视频 |