說明:CRC循環(huán)冗余錯誤校驗計算方法
CRC—16(循環(huán)冗余錯誤校驗)生成CRC—16校驗字節(jié)的步驟如下:
(1)裝入一個16位寄存器,所有數(shù)位均為1。
(2)該16位寄存器的高位字節(jié)與開始8位字節(jié)進(jìn)行“異或”運(yùn)算。運(yùn)算結(jié)果放入這個16位寄存器。
(3)把這個16位寄存器向右移1位。
(4a)若向右(標(biāo)記位)移出的數(shù)位是1,則生成多項式1010000000000001和這個寄存器進(jìn)行“異或”運(yùn)算。
(4b)若向右移出的數(shù)位是0,則返回(3)。
(5)重復(fù)(3)和(4),直至移出8位。
(6)另外8位與該16位寄存器進(jìn)行“異或”運(yùn)算。
(7)重復(fù)(3)—(6),直至該報文所有字節(jié)均與16位寄存器進(jìn)行“異或”運(yùn)算,并移位8次。
(8)這個16位寄存器的內(nèi)容即2字節(jié)CRC錯誤校驗
如果還是不明白可以在網(wǎng)上下載一個例子程序看下。