国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年01月25日(星期六)

2021年01月25日 | CRC校驗、STM32中CRC計算單元、CRC應(yīng)用

發(fā)布者:清新天空 來源: eefocus關(guān)鍵字:CRC校驗  STM32 手機看文章 掃描二維碼
隨時隨地手機看文章

    從這一段時間后臺反饋的問題可以看得出來,好些朋友對CRC沒有什么概念,今天就在這里講述一下關(guān)于CRC校驗、STM32中CRC計算單元相關(guān)內(nèi)容。


1關(guān)于CRC校驗

CRC:Cyclic Redundancy Check,即循環(huán)冗余校驗碼。


CRC是數(shù)據(jù)通信領(lǐng)域中最常用的一種查錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。


循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯功能,對數(shù)據(jù)進行多項式計算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。

---來自百度百科


學(xué)電子、計算機相關(guān)專業(yè)的同學(xué)都應(yīng)該學(xué)習(xí)過CRC的基礎(chǔ)原理。其原理說難不難,可以說就是一個公式。同時,說簡單也不簡單,這個公式里面包含的內(nèi)容不簡單。

圖片


拿STM32參考手冊中CRC計算單元來說,使用CRC-32(以太網(wǎng))多項式: 0x4C11DB7

─ X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X4 + X2 + X +1


關(guān)于CRC基礎(chǔ)原理的內(nèi)容比較多,百度、谷歌一下可以看到很多關(guān)于CRC原理的內(nèi)容,我這里就不再過多講述。


參考維基百科循環(huán)冗余校驗:

https://zh.wikipedia.org/wiki/%E5%BE%AA%E7%92%B0%E5%86%97%E9%A4%98%E6%A0%A1%E9%A9%97


2STM32中CRC計算單元

相信初學(xué)STM32的朋友都知道STM32中有個CRC計算單元,如果有不知道的去面壁思過(參考手冊中目錄一看就能看見CRC章節(jié))。


但很多朋友都僅限知道有CRC計算單元這個東西,基本都沒怎么進一步了解過。


STM32全系列產(chǎn)品都具有 CRC 外設(shè)(注意,是全系列都有), 對 CRC 的計算提供硬件支持,為應(yīng)用程序節(jié)省了代碼空間。


STM32的CRC(循環(huán)冗余校驗)計算單元使用一個固定的多項式發(fā)生器從一個 32 位的數(shù)據(jù)字中產(chǎn)生 CRC 碼。


在眾多的應(yīng)用中,基于 CRC 的技術(shù)還常用來驗證數(shù)據(jù)傳輸或存儲的完整性。


根據(jù) EN/IEC60335-1 標準的規(guī)定,這些技術(shù)提供了驗證 Flash 完整性的方法。 CRC 計算單元有助于在運行期間計算軟件的簽名,并將該簽名與鏈接時生成并存儲在指定存儲單元的參考簽名加以比較。


CRC 主要特性

  • 使用 CRC-32 (以太網(wǎng))多項式: 0x4C11DB7

— X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2+ X +1

---來自STM32參考手冊


輸入/輸出數(shù)據(jù)的反轉(zhuǎn)

STM32默認不對輸入數(shù)據(jù)和輸出數(shù)據(jù)進行位反轉(zhuǎn)。

1.對輸入數(shù)據(jù)的位反轉(zhuǎn)操作可以設(shè)置為按字節(jié)/半字 /字為單元進行操作。例如輸入數(shù)據(jù)為 0x1A2B3C4D,

  • 每個字節(jié)內(nèi)逐位反轉(zhuǎn),結(jié)果是 0x58D43CB2

  • 每半字內(nèi)逐位反轉(zhuǎn),結(jié)果是 0xD458B23C

  • 每個字長內(nèi)逐位反轉(zhuǎn),結(jié)果是 0xB23CD458


2.對輸出數(shù)據(jù)的位反轉(zhuǎn)

  • 例如輸出數(shù)據(jù)為 0x11223344,反轉(zhuǎn)后為 0x22CC4488


操作STM32的CRC比較簡單,只有三個比較簡單的寄存器,不管是使用寄存器,還是庫函數(shù),對于大部分人來說,沒有多大難度。


看下標準庫的部分函數(shù)源碼:

圖片


3CRC應(yīng)用

我記得讀書那個時候,想要把CRC搞明白好難啊,原因在于不知道學(xué)這個CRC到底有什么用途。


CRC用途其實非常廣泛,我們最常見的就是在一些通信上,比如:Modbus:

圖片


再比如之前講述的MAVLink通信協(xié)議

圖片


CRC其主要目的就是驗證數(shù)據(jù)的正確性。在CRC應(yīng)用中,還有一個重要的作用:通過 CRC 校驗對 FLASH 的完整性進行檢查。


在對 FLASH 完整性檢查的應(yīng)用中,需要事先計算出整個 FLASH 的 CRC 校驗值(不包括最后保存 CRC 值的字節(jié)),放在 FLASH 的末尾。在程序啟動或者運行的過程中重新用同樣的方法計算整個 FLASH 的 CRC 校驗值,然后與保存在 FLASH 末尾的 CRC 值進行比較。


這個對Flash添加CRC校驗主要目的:在遠程升級程序可有效檢查程序的完整性。


在IAR EWARM中有這么一個功能:Checksum。不知道大家使用過沒,也是可以對Flash添加CRC的功能??聪聢D:

圖片


簡單說,這里的配置可以對Flash進行CRC計算。關(guān)于這里內(nèi)容比較多,足以單獨寫一篇文章了??赡芎竺鏁为殞懸黄嚓P(guān)文章。


關(guān)鍵字:CRC校驗  STM32 引用地址:CRC校驗、STM32中CRC計算單元、CRC應(yīng)用

上一篇:EEPROM,在項目中我一般會做幾項特殊操作
下一篇:STM32中斷,及FreeRTOS中斷優(yōu)先級配置

推薦閱讀

從早期入股ofo小黃車,到復(fù)活小藍單車,滴滴出行對于共享單車的野心從未改變。尤其是在網(wǎng)約車業(yè)務(wù)受阻后,滴滴必須加速布局共享單車,以完善共享出行的生態(tài)。?為了構(gòu)建共享出行生態(tài),滴滴出行此前選擇了投資ofo來彌補共享單車的短板。與ofo合作出現(xiàn)裂痕后,復(fù)活小藍單車成為滴滴進軍共享單車的一個下下策。然而,剛剛復(fù)活的小藍單車就被叫停,這無疑讓滴...
據(jù)TechCrunch報道,科學(xué)家們對南極冰架下冰冷的海水和冰層的底部有極大的興趣,但到目前為止還沒有人到過那里,除了機器人!事實上,兩艘無人駕駛潛艇已經(jīng)在那里探測了整整一年時間,它們得到的數(shù)據(jù)與以往任何探險都不一樣。這個項目始于2017年,由已故微軟聯(lián)合創(chuàng)始人保羅·艾倫(PaulAllen)資助。隨著氣候變化對全球海冰的影響加劇,對這些冰凍氣候的精...
國家電網(wǎng)有限公司日前印發(fā)了2020年1號文件《國家電網(wǎng)有限公司關(guān)于全面深化改革奮力攻堅突破的意見》(以下簡稱《意見》),強調(diào)要深入踐行能源清潔低碳轉(zhuǎn)型發(fā)展要求,緊緊圍繞“三型兩網(wǎng)、世界一流”戰(zhàn)略目標,以打造“兩網(wǎng)融合”業(yè)務(wù)新體系為主軸,奮力推進“三大改革攻堅”(混合所有制改革、集團管理體制變革、電力市場建設(shè)),加快建設(shè)世界一流能源...
蘋果去年發(fā)布了兩款 “小”iPhone——iPhone SE 2020 和 iPhone 12 Mini,很多安卓粉絲也希望廠商能推出類似的小屏手機?,F(xiàn)在,他們的愿望就要實現(xiàn)了,這要感謝索尼,因為有消息透露,索尼今年確實會有一款新的 Xperia Compact 機型推出。  上一款 Xperia Compact 智能手機是在 2018 年發(fā)布的,現(xiàn)在索尼計劃重啟該系列,爆料者...

史海拾趣

問答坊 | AI 解惑

P8031AH

求助:P8031AH是什么片子?內(nèi)部電路結(jié)構(gòu)圖?(INTEL公司.80年產(chǎn)品) [ 本帖最后由 老兵 于 2008-9-18 10:15 編輯 ]…

查看全部問答∨

關(guān)于WinCE Flash播放器

有沒有開源的解碼器,或者比較好的實現(xiàn)方法?各位大俠指導(dǎo)一下?!?

查看全部問答∨

Flash與S3C44B0X連接時地址線為什么要偏移一位,對應(yīng)的代碼也不甚清楚,勞煩各位大俠給看看。小弟先在此謝過了。

Flash與S3C44B0X連接時地址線為什么要偏移一位,對應(yīng)的代碼也不甚清楚,勞煩各位大俠給看看。小弟先在此謝過了。 Flash與S3C44B0X的接口電路圖如圖2所示。處理器ADDR20~1對應(yīng)著Flash ROM的A19~0,偏移了1位,這是由于S3C44B0X是按照字節(jié)編址的, ...…

查看全部問答∨

用evc++怎樣實現(xiàn)刪除只讀文件,新手,多謝指教

用evc++怎樣實現(xiàn)刪除只讀文件,新手,多謝指教…

查看全部問答∨

C8051F020的串口中斷問題

我的程序現(xiàn)在遇到這樣的問題,串口中斷時而響應(yīng),時而不響應(yīng),在中斷子程序中加了一句temp++; ,得到的temp值大的可怕,說明按一次鍵,串口收到數(shù)據(jù)后,進入了N次中斷,而按下鍵盤后,總共只發(fā)出3個字節(jié)的數(shù)據(jù),根據(jù)每收到一個字節(jié)進入一次串口中斷,好像問題 ...…

查看全部問答∨

《傲飛電子AVRM16學(xué)習(xí)板》試調(diào)心得

收到板子已經(jīng)有一段時間了,但...一直都在忙著工作,沒什么時間,直到現(xiàn)在。呵呵!忙了一天才焊接完成,有圖為證: 這是當時收到的器件 這是剛焊好的 再來個反面的 本人菜鳥一個,呵呵,焊接的不是很好,初次連接沒成功,郁悶??!思前想 ...…

查看全部問答∨

這里我發(fā)現(xiàn)對串口的問題特別多,大家看看我的一點經(jīng)驗

//rs422 over USART1 #include "msp430x14x.h" #include "foshan.h" //P3.6 UTXD1 //P3.7 URXD1 char fe_wt[12] = {\'1\',\'D\',\'F\',\'F\',\'E\',\'5\',\'0\',\'1\',\'2\',\'3\',\'0\',13}; uchar fe_rd[8] = {\'1\',\'D\',\'E\ ...…

查看全部問答∨

C2000最小系統(tǒng)板DIY計劃可行性討論

各位壇友,       想在論壇里集大家的智慧,來進行個C2000最小系統(tǒng)板的DIY ,大家覺得可行不?  …

查看全部問答∨

【內(nèi)核驅(qū)動移植】--DM9000網(wǎng)卡驅(qū)動的移植--【有圖有真相】

kernel內(nèi)核移植-dm9000網(wǎng)卡驅(qū)動的移植 有圖有真相、、、、、、     沒有移植dm9000之前   燒寫內(nèi)核啟動成功     網(wǎng)卡驅(qū)動移植成功了^_^   移植參考文檔附件中免費下載  …

查看全部問答∨

MSP430 PWM波的輸出問題

#include <msp430x14x.h>#include \"All_define.h\"void PWM(){ TACTL = TASSEL1 + TACLR+MC0;            //時鐘源選擇MCLK, 計數(shù)內(nèi)容清零,Timer_A 增計數(shù)模式  CCR0 = 512-1; ...…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved