Modbus RTU CRC校驗碼計算方法


在CRC計算時只用8個數據位,起始位及停止位,如有奇偶校驗位也包括奇偶校驗位,都不參與CRC計算。

CRC計算方法是:

1、  加載一值為0XFFFF的16位寄存器,此寄存器為CRC寄存器。

2、  把第一個8位二進制數據(即通訊信息幀的第一個字節)與16位的CRC寄存器的相異或,異或的結果仍存放於該CRC寄存器中。

3、  把CRC寄存器的內容右移一位,用0填補最高位,並檢測移出位是0還是1。

4、  如果移出位為零,則重復第三步(再次右移一位);如果移出位為1,CRC寄存器與0XA001進行異或。

5、  重復步驟3和4,直到右移8次,這樣整個8位數據全部進行了處理。

6、  重復步驟2和5,進行通訊信息幀下一個字節的處理。

7、  將該通訊信息幀所有字節按上述步驟計算完成后,得到的16位CRC寄存器的高、低字節進行交換

8、  最后得到的CRC寄存器內容即為:CRC校驗碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM