crc計算方法
1、加載一值為0XFFFF的16位寄存器,此寄存器為CRC寄存器。
2、把第一個8位二進制數(shù)據(jù)(即通訊信息幀的第一個字節(jié))與16位的CRC寄存器的相異或,異或的結(jié)果仍存放于該CRC寄存器中。
3、把CRC寄存器的內(nèi)容右移一位,用0填補最高位,并檢測移出位是0還是1。
4、如果移出位為零,則重復(fù)第三步(再次右移一位);如果移出位為1,CRC寄存器與0XA001進行異或。
5、重復(fù)步驟3和4,直到右移8次,這樣整個8位數(shù)據(jù)全部進行了處理。
6、重復(fù)步驟2和5,進行通訊信息幀下一個字節(jié)的處理。
7、將該通訊信息幀所有字節(jié)按上述步驟計算完成后,得到的16位CRC寄存器的高、低字節(jié)進行交換
8、最后得到的CRC寄存器內(nèi)容即為:crc校驗碼