音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

實(shí)用資料——CRC校驗(yàn)碼生成算法

作者:chunyang 欄目:通信技術(shù)
實(shí)用資料——CRC校驗(yàn)碼生成算法
1.預(yù)置1個(gè)16位的寄存器(下稱CRC寄存器),初試化其內(nèi)容為十六進(jìn)制數(shù)0xFFFF;
2.把第一個(gè)待計(jì)算的數(shù)據(jù)即通訊信息幀的首字節(jié)與CRC寄存器的低8位相異或,把結(jié)果放回CRC寄存器;
3.把CRC寄存器的內(nèi)容右移一位用0填補(bǔ)最高位即進(jìn)行邏輯移位處理并檢查右移后的移出位;
4.如果移出位為0重復(fù)第3步即再次右移一位,如果移出位為1則CRC寄存器與CRC生成多項(xiàng)式0xA001(1010 0000 0000 0001)進(jìn)行異或運(yùn)算,結(jié)果放回CRC寄存器;
5.重復(fù)步驟3和4,直到右移8次,對(duì)整個(gè)8位數(shù)據(jù)全部進(jìn)行同樣處理;
6.重復(fù)步驟2到步驟5,進(jìn)行通訊信息幀下一個(gè)字節(jié)的處理;
7.將該通訊信息幀所有字節(jié)按上述步驟計(jì)算完成后,最后得到的CRC寄存器的內(nèi)容即為CRC校驗(yàn)碼,將其附著在原通訊信息幀后進(jìn)行傳輸即可。如果用于Modbus協(xié)議設(shè)備則還需交換高低8位,非Modbus協(xié)議設(shè)備可以不必交換。接收方依同樣方法進(jìn)行計(jì)算,只是計(jì)算的內(nèi)容不要包括最后兩個(gè)字節(jié),然后比較生成的CRC校驗(yàn)碼和數(shù)據(jù)幀中的是否相同即可。如果發(fā)送方交換CRC校驗(yàn)碼的高低8位,則接收方可以計(jì)算包括交換后的CRC碼在內(nèi)的整個(gè)數(shù)據(jù)幀,傳輸正確的話結(jié)果恒為0x0000。


2樓: >>參與討論
ida
啊,這個(gè)應(yīng)該對(duì)我很有價(jià)值
呵呵呵呵呵呵呵

3樓: >>參與討論
bcaiyo
好東西!直接!
 
4樓: >>參與討論
Chang_HS
經(jīng)過實(shí)驗(yàn)驗(yàn)證嗎?
如果發(fā)送方交換CRC校驗(yàn)碼的高低8位,則接收方可以計(jì)算包括交換后的CRC碼在內(nèi)的整個(gè)數(shù)據(jù)幀,傳輸正確的話結(jié)果恒為0x0000。
上面這句怎么理解?
是不是如果交換高低位,則多計(jì)算2個(gè)字節(jié)結(jié)果會(huì)為0?

5樓: >>參與討論
chunyang
自己試試吧
 
6樓: >>參與討論
雨亭工作室
有現(xiàn)成的呀
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
求BENQ M20 的資料~~~~~~~~~
兩單片機(jī)相距在500米內(nèi),485通信,是否BPS越低,傳輸可靠性越高?
實(shí)用資料——3G技術(shù)標(biāo)準(zhǔn)及其發(fā)展研究
請(qǐng)教電視卡問題
電話線短路可以上網(wǎng)嗎
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)