王牌对王牌第一季综艺,黄视频在线观看网站,世界一级毛片,成人黄色免费看

薈聚奇文、博采眾長、見賢思齊
當前位置:公文素材庫 > 計劃總結 > 工作總結 > CRC校驗最終個人總結

CRC校驗最終個人總結

網站:公文素材庫 | 時間:2019-05-27 21:00:30 | 移動端:CRC校驗最終個人總結

CRC校驗最終個人總結

CRC校驗最終個人總結:某二進制信息碼(kn)的CRC校驗需選

擇一個合適的g(x)除數(校驗因子)如:CRC-7為X+X+1=10001001

73

寬度為7,此校驗因子根據設計的需求來選擇(如:CRC-32/CRC-16)。注意,在計算CRC前必須將二進制信息碼左移7位(kn*2),這里的7來源于所選擇的檢驗因子的寬度。然后,再與除數進行模2運算(從kn的最高位開始和除數進行異或運算)。最后所剩的寬度為7的7位余數就是最終CRC計算結果(當計算到只剩7位余數時就不要再計算了)。之后就可以將經過CRC校驗后的信息碼+CRC一起發(fā)送給對方,對方收到添有CRC的信息碼后,將這串代碼再和校驗因子進行異或運算看結果是否為0。例如:kn=01000000=0x40g(x)=X+X+1=10001001寬度為7

1:移位01000000左移7位=100000000000002:異或運算

10000000000000

10001001校驗因子1001000000

10001001

1100100最終CRC計算結果3:傳輸發(fā)送

10000001100100

信息碼CRC結果4:接收檢驗

10000001100100

10001001校驗因子1000100100

10001001校驗因子0

73

擴展閱讀:單片機crc校驗實驗報告

單片機課程總實驗

實現CRC校驗

一、實驗目的

⒈通過學習CRC原理,驗證,檢錯,掌握其工作原理;⒉編寫CRC編碼程序;

⒊總結實驗過程,編寫提交實驗報告:方案、編程、調試、結果、分析、結論。二、實驗要求

用單片機實現CRC校驗碼(10比特數據或任意數據長度、生成多項式用G(x)=x5+x4+x2+1),校驗碼顯示在單片機實驗系統(tǒng)數碼管上。二、實驗器材

1、裝有KeilC51開發(fā)工具的PC機一臺

2、TD-PIT/TD-PIT-B實驗裝置一套

三、實驗原理

1.設置CRC寄存器,并給其賦初始值。

2.將數據的第一個8-bit字符與16位CRC寄存器的低8位進行異或,并把結果存入CRC寄存器。

3.CRC寄存器向右移一位,最高位補零,移出并檢查最低位。

4.如果LSB為0,重復第三步;若LSB為1,CRC寄存器與多項式碼相異或。5.重復第3與第4步直到8次移位全部完成。此時一個8-bit數據處理完畢。6.重復第2至第5步直到所有數據全部處理完成。

7.最終CRC寄存器的內容即為CRC值。常用的CRC循環(huán)冗余校驗標準多項式如下:CRC(12位)=X12+X11+X3+X2+X+1CRC(16位)=X16+X15+X2+1CRC(CCITT)=X16+X12+X5+1CRC(32位)=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1以CRC(16位)多項式為例,其對應校驗二進制位列為11000000000000101本次實驗以10比特為例。顯示到六位數碼管中。

其實驗連接圖如下圖所示。四、實驗步驟

1.打開KeilC51開發(fā)工具,新建開發(fā)工具,并保存至相應路徑。2.新建文件,編寫代碼。

3.按照實驗連線圖在實驗箱上連線。

4.編譯運行代碼勿誤后,打開實驗箱,點擊調試,運行。

五、實驗結果

經過調試程序,在實驗箱數碼管上顯示二進制數001110.

六、實驗源代碼#include"Absacc.h"

#defineC8255_AXBYTE[0x7F00]//8255端口地址定義#defineC8255_BXBYTE[0x7F01]#defineC8255_CXBYTE[0x7F02]#defineC8255_CONXBYTE[0x7F03]//數碼管顯示編號

unsignedchara[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,

0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsignedcharb[]={0x00,0x00,0x00,0x00,0x00,0x00};longMD;longGD;

voiddelay(unsignedinttime){unsignedinti;for(i=0;i

C8255_B=a[b[i]];//查表輸出顯示C8255_A=j;delay(0x100);j=(j>>1)|(j=1;MD=tmp;

tmp=GD;//數GD有多少位tmp用于暫存GDfor(count_GD=0;GD!=0;count_GD++)GD>>=1;GD=tmp;

//構造CRC碼序列

for(tmp=1;tmp=0;count--)

{if(tst0==(tst0&MD))//MD與最高位為1當除不盡時最高位為0,

//余數比除數少一位

{

MD^=GD;//異或除法,被除數應該異或之后少一位}

tst0>>=1;//位數減一,最高位降低一位

GD>>=1;//除數保持和被除數最高位對齊,相當于豎式除法左對齊}i=0;

while(1)//轉化為2進制輸出,16進制數模2取余,移位{b[i]=MD%2;i++;MD/=2;if(MD==0||i>6)break;}}

voidmain(){

C8255_CON=0x81;//8255初始化CRC_check(0x28D,0x35);//16進制

while(1)//顯示{

display();delay(0x80);clear();

}}

七、實驗心得

實驗指導書上寫的還是很好懂,只是最初接觸的時候確實感覺代碼好多陌生,因為這個調用機制,變量基本上都是公有變量,直接在函數里面使用,賦值,在另一個函數里面接著用?雌饋砗瘮刀际菬o參和無返回值的。不過后來仔細看了之后發(fā)現這個了之后,使用起來還是蠻順手的了。雖然還是習慣使用帶參數的函數,但是不用寫返回值這一點倒也能適應。在除法實現方面,通過百度找到了一種模擬豎式除法的方式,左對齊,異或,根據結果商數,再左對齊,異或。如此就采用了除數與被除數位數對齊,除數不足位數補0的方式,因為0與任何數異或還是它本身,所以用0補足之后,除數和被除數整體異或的結果和豎式除法左對齊異或的結果是一樣的。M位除以N位,每次異或之后結果會降低一位,最終會得到M-N+1位商和N-1位余數或者0余數。

友情提示:本文中關于《CRC校驗最終個人總結》給出的范例僅供您參考拓展思維使用,CRC校驗最終個人總結:該篇文章建議您自主創(chuàng)作。

來源:網絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯系我們及時刪除。


CRC校驗最終個人總結》由互聯網用戶整理提供,轉載分享請保留原作者信息,謝謝!
鏈接地址:http://www.taixiivf.com/gongwen/482326.html
相關文章