CRC是如何計算的?
CRC的計算,開始對一個16位寄存器預(yù)裝全1,然后將報文中的連續(xù)的8位字節(jié)對其進行后續(xù)的計算。只有字符中的8個數(shù)據(jù)位參與生成CRC的運算,起始位,停止位和校驗位不參與CRC計算。CRC生成的過程中,每個8位字符與寄存器中的值異或,然后結(jié)果向最低有效位(LSB)方向移動(Shift)1位,而最高有效位(MSB)位置充零。然后提取并檢查LSB:如果LSB為1,則寄存器中的值與一個固定的預(yù)置值異或;如果LSB為0,則不進行異常操作。這個過程將重復(fù)直到執(zhí)行完8次移位。完成最后一次(第8次)移位及相關(guān)操作后,下一個8位字節(jié)與寄存器的當前值異或,然后又同上面描述過的一樣重復(fù)8次。當所有報文中子節(jié)都運算之后得到的寄存器中的最終值,就是CRC。
如果您還想了解更多相關(guān)內(nèi)容,可以加微信18309815706具體咨詢。
如果您還想了解更多相關(guān)內(nèi)容,可以加微信18309815706具體咨詢。
下一篇:什么是ASCII 傳輸模式?