999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動(dòng)故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁 > 文章中心 > 技成百科 > 看看寫的modbus CRC校驗(yàn)子程序

看看寫的modbus CRC校驗(yàn)子程序

劉玉蓉 發(fā)布于2014-12-02 17:26 611 0 標(biāo)簽:

誰能理解這段子程序啊,解釋一下。

CRC校驗(yàn)算法是什么


圖片說明: 1,1  

佳答案

我找了一段話希望對(duì)你有幫助如下:
在RTU 模式包含一個(gè)對(duì)全部報(bào)文內(nèi)容執(zhí)行的,基于循環(huán)冗余校驗(yàn) (CRC - Cyclical Redundancy Checking) 算法的錯(cuò)誤檢驗(yàn)域。CRC 域檢驗(yàn)整個(gè)報(bào)文的內(nèi)容。不管報(bào)文有無奇偶校驗(yàn),均執(zhí)行此檢驗(yàn)。
CRC 包含由兩個(gè)8位字節(jié)組成的一個(gè)16位值。  
CRC 域作為報(bào)文的后的域附加在報(bào)文之后。計(jì)算后,首先附加低字節(jié),然后是高字節(jié)。CRC 高字節(jié)為報(bào)文發(fā)送的后一個(gè)字節(jié)。
附加在報(bào)文后面的CRC 的值由發(fā)送設(shè)備計(jì)算。接收設(shè)備在接收?qǐng)?bào)文時(shí)重新計(jì)算 CRC 的值,并將計(jì)算結(jié)果于實(shí)際接收到的CRC 值相比較。如果兩個(gè)值不相等,則為錯(cuò)誤。
CRC 的計(jì)算, 開始對(duì)一個(gè)16位寄存器預(yù)裝全1。 然后將報(bào)文中的連續(xù)的8位字節(jié)對(duì)其進(jìn)行后續(xù)的計(jì)算。只有字符中的8個(gè)數(shù)據(jù)位參與生成CRC 的運(yùn)算,起始位,停止位和校驗(yàn)位不參與 CRC 計(jì)算。
CRC 的生成過程中, 每個(gè) 8–位字符與寄存器中的值異或。然后結(jié)果向低有效位(LSB)方向移動(dòng)(Shift) 1位,而高有效位(MSB)位置充零。 然后提取并檢查 LSB:如果LSB 為1, 則寄存器中的值與一個(gè)固定的預(yù)置值異或;如果LSB 為 0, 則不進(jìn)行異或操作。
這個(gè)過程將重復(fù)直到執(zhí)行完8次移位。完成后一次(第8次)移位及相關(guān)操作后,下一個(gè)8位字節(jié)與寄存器的當(dāng)前值異或,然后又同上面描述過的一樣重復(fù)8次。當(dāng)所有報(bào)文中字節(jié)都運(yùn)算之后得到的寄存器中的終值,就是CRC。
上面這段話就是對(duì)你貼圖的程序的解釋,好好研究下。

若有收獲,就點(diǎn)個(gè)贊吧!

文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

相關(guān)推薦

最新文章 熱門文章
最新課程 免費(fèi)課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機(jī)APP
熱門標(biāo)簽