在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校驗碼。
在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校驗碼。