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