哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CRC-16公式是什么?如何利用單片機去驗證呢

通信工程師專輯 ? 來源:通信工程師專輯 ? 作者:了凡三訓(xùn) ? 2022-11-09 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、實驗?zāi)康?/p>

1、完成CRC-16的程序編寫

2、根據(jù)模板整改,實現(xiàn)函數(shù)調(diào)用

3、在程序中不可以出現(xiàn)長數(shù)組

4、利用單片機驗證

二、CRC-16校驗

CRC-16公式是什么?

94e074a0-5f59-11ed-8abf-dac502259ad0.png

上堂課提到了哦!

再來看看框圖是什么樣子?

94f535e8-5f59-11ed-8abf-dac502259ad0.png


每個小框都是一個寄存器

CRC即循環(huán)冗余校驗碼(Cyclic Redundancy Check):是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。

生成步驟如下:

1、將x的最高次冪為R的生成多項式G(x)轉(zhuǎn)換成對應(yīng)的R+1位二進制數(shù)。

2、將信息碼左移R位,相當(dāng)于對應(yīng)的信息多項式C(x)*x的R次方。

3、用生成多項式(二進制數(shù))對信息碼做除,得到R位的余數(shù)。

4、將余數(shù)拼到信息碼左移后空出的位置,得到完整的CRC碼。

三、實驗程序

1、調(diào)用函數(shù)

這里完成的是寄存器生成法,同樣的根據(jù)模板,主要的是調(diào)用函數(shù)的編寫。

調(diào)用函數(shù)首先要進行調(diào)用函數(shù)名的定義

function z = crc16(message)

接下來是寄存器的編寫,一開始寄存器的初始值都為0,為了程序的簡明,根據(jù)實驗要求不可以出現(xiàn)長數(shù)組,只能出現(xiàn)一個數(shù)組。

a=zeros(1,16)

zeros函數(shù)是全零矩陣,所以滿足要求。

根據(jù)公式和框圖就可直接寫出每個寄存器的等式,這時候就要注意框圖中的箭頭方向,最重要的是要在最前面先定義第一個寄存器。

第一個寄存器里的數(shù)據(jù)是第十六個寄存器和輸入數(shù)據(jù)的第一個值的異或,尤為關(guān)鍵。后面的編寫就比較簡單,只要注意一一對應(yīng)就好。同時crc是一個循環(huán)碼,這里就要使用for循環(huán)。循環(huán)的次數(shù)由輸入比特數(shù)決定。

函數(shù)的最后還要把完整的寄存器寫上。

z=[a(16),a(15),a(14),a(13),a(12),a(11),a(10),a(9),a(8),a(7),a(6),a(5),a(4),a(3),a(2),a(1)];

2、主函數(shù)

在寫主函數(shù)之前先要把調(diào)用的函數(shù)寫上,后面的程序才能夠使用。

在這里應(yīng)用的是randi函數(shù)

randi是matlab中能產(chǎn)生均勻分布的偽隨機整數(shù)的新函數(shù)。

主要語法:

randi(iMax)在開區(qū)間(0,iMax)生成均勻分布的偽隨機整數(shù)
randi(iMax,m,n)在開區(qū)間(0,iMax)生成m*n型隨機矩陣
randi([iMin,iMax],m,n)在開區(qū)間(iMin,iMax)生成m*n型隨機矩陣

相似的還有rand函數(shù)和randn。

rand 生成均勻分布的偽隨機數(shù)。分布在(0~1)之間

主要語法:

rand(m,n)生成m行n列的均勻分布的偽隨機數(shù)
rand(m,n,'double')生成指定精度的均勻分布的偽隨機數(shù),參數(shù)還可以是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解為隨機種子)生成偽隨機數(shù)
randn 生成標(biāo)準(zhǔn)正態(tài)分布的偽隨機數(shù)(均值為0,方差為1)主要語法和rand函數(shù)一致。

dec2hex函數(shù)

功能:把一個十進制數(shù)轉(zhuǎn)換成一個字符串形式表示的十六進制數(shù)。

語法格式:

str = dec2hex(d)把十進制整數(shù)d轉(zhuǎn)換成16進制形式表示, 并存在一個字符串中。d必須是一個非負(fù)的比2^52次方小的整數(shù)。

str = dec2hex(d, n)指定十六進制數(shù)的位數(shù),n就是指定的位數(shù)例如:dec2hex(255)ans =FF;dec2hex(255, 6)ans =0000FF

之后的程序就是將生成的數(shù)據(jù)寫入指定的文件里面。

data_hex = dec2hex(data_16);

fid = fopen('data_hex.txt', 'wt');

fprintf(fid, '%s ', data_hex);

fclose(fid);

data_binary1=dec2bin(data_binary);

fid = fopen('data_bin.txt', 'wt');

fprintf(fid, '%s ', data_binary1);

fclose(fid);

result_hex = dec2hex(result_16);

fid = fopen('result_hex.txt', 'wt');

fprintf(fid, '%s ', result_hex);

fclose(fid);

3、單片機驗證

單片機是利用串口接收數(shù)據(jù),處理后回傳給電腦。

在MATLAB里直接寫入1011001001011010,則有data_bin文件的1011001001011010,data_hex文件的B25A,result_hex文件的83D0。

傳入單片機的數(shù)據(jù)是data_bin文件中的,相關(guān)的數(shù)據(jù)在單片機里進行運算,得到的如下圖所示。

952c3070-5f59-11ed-8abf-dac502259ad0.jpg

MATLAB數(shù)據(jù)結(jié)果!

955426d4-5f59-11ed-8abf-dac502259ad0.png

兩者的數(shù)據(jù)相同,也就驗證了CRC校驗程序正確。

小結(jié):現(xiàn)在MATLAB程序已經(jīng)能夠熟練應(yīng)用了,就是要多做才能熟練。但是單片機這塊還是挺薄弱的,能夠讀懂程序但是不能完整的獨立編寫。單片機比MATLAB復(fù)雜多了,這是現(xiàn)在最大的感觸。但是我想至少能讀懂,能寫一些,然后每次多會一點知識就好。還是要加油。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6078

    文章

    45579

    瀏覽量

    673618
  • matlab
    +關(guān)注

    關(guān)注

    189

    文章

    3029

    瀏覽量

    239201
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5619

    瀏覽量

    130410
  • CRC-16
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    7767

原文標(biāo)題:計算機通信與網(wǎng)絡(luò)v2 實驗課程(9)

文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Renesas M16C/6S 16單片機:特性、功能與應(yīng)用全解析

    Renesas M16C/6S 16單片機:特性、功能與應(yīng)用全解析 作為一名電子工程師,在尋找高性能、高集成度的單片機時,Renesas M16
    的頭像 發(fā)表于 04-13 16:05 ?127次閱讀

    Renesas M16C/1N 16單片機:特點、參數(shù)與應(yīng)用分析

    Renesas M16C/1N 16單片機:特點、參數(shù)與應(yīng)用分析 一、引言 在電子設(shè)計領(lǐng)域,單片機作為核心控制部件,廣泛應(yīng)用于各種領(lǐng)域。Renesas M
    的頭像 發(fā)表于 04-13 14:05 ?138次閱讀

    深入剖析Renesas M16C/6S:一款高度集成的16單片機

    深入剖析Renesas M16C/6S:一款高度集成的16單片機 在電子工程師的世界里,單片機是不可或缺的核心組件。Renesas M16
    的頭像 發(fā)表于 04-13 14:00 ?136次閱讀

    LC88F83B0A 16單片機:技術(shù)特性與應(yīng)用分析

    LC88F83B0A 16單片機:技術(shù)特性與應(yīng)用分析 在當(dāng)今的電子設(shè)計領(lǐng)域,單片機作為核心控制元件,其性能和功能直接影響著產(chǎn)品的質(zhì)量和競爭力。ON Semiconductor 公司
    的頭像 發(fā)表于 04-10 16:05 ?310次閱讀

    深入解析Infineon C165 16單片機:特性、參數(shù)與應(yīng)用指南

    深入解析Infineon C165 16單片機:特性、參數(shù)與應(yīng)用指南 在當(dāng)今的電子設(shè)計領(lǐng)域,單片機作為核心控制元件,廣泛應(yīng)用于各種智能設(shè)備和工業(yè)控制系統(tǒng)中。Infineon
    的頭像 發(fā)表于 03-30 14:20 ?220次閱讀

    Infineon C161PI 16單片機:設(shè)計與應(yīng)用的深度剖析

    Infineon C161PI 16單片機:設(shè)計與應(yīng)用的深度剖析 在當(dāng)今的電子設(shè)計領(lǐng)域,單片機作為核心控制部件,其性能和功能的優(yōu)劣直接影響著整個系統(tǒng)的表現(xiàn)。Infineon的C161PI 1
    的頭像 發(fā)表于 03-28 14:30 ?734次閱讀

    LC87F1M16A:多功能8位單片機的詳細剖析與應(yīng)用指南

    LC87F1M16A:多功能8位單片機的詳細剖析與應(yīng)用指南 引言 在嵌入系統(tǒng)設(shè)計領(lǐng)域,單片機作為核心控制部件,其性能和功能的多樣性直接影響著整個系統(tǒng)的表現(xiàn)。今天我們要深入探討
    的頭像 發(fā)表于 02-28 14:45 ?617次閱讀

    如何入門單片機/嵌入?

    大一學(xué)的單片機,本科玩了幾年嵌入,做過智能家居,智能小車,示波器,開關(guān)電源等等,后來工作(本人芯片行業(yè))以后就沒搞了,但是這段時間積累的經(jīng)驗,可以讓整個職業(yè)生涯受益。 單片機相對來說更容易了解
    發(fā)表于 02-02 06:57

    芯源循環(huán)冗余校驗(CRC)功能

    ? 3 種輸入數(shù)據(jù)位寬:8bit、16bit、32bit ? 3 種多項 CRC-16 多項1:x16 + x15 + x2 + 1
    發(fā)表于 01-12 06:07

    嵌入單片機定義及區(qū)別

    單片機,即嵌入式微控制器MCU,是嵌入系統(tǒng)的核心組成部分。除此之外,嵌入處理器還包括嵌入DSP處理器、嵌入式微處理器MPU、嵌入片上
    發(fā)表于 11-17 08:11

    單片機和嵌入,到底是什么關(guān)系?

    很多人初次接觸嵌入開發(fā)時,都會聽到一句話:“嵌入其實就是單片機?!笨僧?dāng)你真正開始學(xué)習(xí)時,會發(fā)現(xiàn)嵌入單片機雖然經(jīng)?!袄墶痹谝黄鹛幔?/div>
    的頭像 發(fā)表于 11-14 10:28 ?2073次閱讀
    <b class='flag-5'>單片機</b>和嵌入<b class='flag-5'>式</b>,到底是什么關(guān)系?

    CRC校驗的原理和應(yīng)用

    )。 計算復(fù)雜度較高:涉及二進制多項除法,但可通過查表法(Lookup Table)優(yōu)化。 長度靈活:常用 CRC-8、CRC-16CRC-32、
    發(fā)表于 11-14 06:48

    CRC校驗的本質(zhì)和物理意義

    校驗的數(shù)學(xué)本質(zhì) 1. 模2除法與多項表示 Modbus RTU采用的CRC-16算法基于多項除法運算,其核心特征包括: 生成多項:0x8005(標(biāo)準(zhǔn)表示)或0xA001(查表法優(yōu)
    發(fā)表于 11-13 07:58

    8種常用的CRC算法分享

    CRC 計算單元可按所選擇的算法和參數(shù)配置來生成數(shù)據(jù)流的 CRC 碼。有些應(yīng)用中,可利用 CRC 技術(shù)來驗證數(shù)據(jù)的傳輸和存儲的完整性。 8
    發(fā)表于 11-13 07:25

    浮思特 | ABOV 32位單片機的技術(shù)演進與行業(yè)應(yīng)用解析

    隨著科技的不斷進步,單片機(MCU)已經(jīng)從最初的8位和16位時代,逐步邁向了32位的時代。32位單片機的高性能和廣泛適應(yīng)性,使其成為未來嵌入系統(tǒng)和智能硬件的核心驅(qū)動力量。特別是在家電
    的頭像 發(fā)表于 09-01 09:56 ?1032次閱讀
    浮思特 | ABOV 32位<b class='flag-5'>單片機</b>的技術(shù)演進與行業(yè)應(yīng)用解析
    宁城县| 新密市| 钦州市| 边坝县| 平凉市| 江孜县| 丹棱县| 鹤峰县| 东至县| 翁牛特旗| 龙海市| 虎林市| 鄂托克旗| 东港市| 和硕县| 苍梧县| 丰城市| 出国| 泸水县| 洛阳市| 建平县| 安塞县| 凤山县| 三明市| 精河县| 娄底市| 临西县| 延川县| 广德县| 西盟| 醴陵市| 鲜城| 宁远县| 平定县| 唐河县| 台湾省| 长汀县| 和静县| 上虞市| 西昌市| 新平|