預(yù)置16位寄存器為十六進(jìn)制FFFF(即全為1)。稱此寄存器為CRC寄存器;
· 把第一個(gè)8位數(shù)據(jù)與16位CRC寄存器的低位相異或,把結(jié)果放于CRC寄存器;
· 把寄存器的內(nèi)容右移一位(朝低位),用0填補(bǔ)最高位,檢查最低位;
· 如果最低位為0:重復(fù)第3步(再次移位); 如果最低位為1:CRC寄存器與多項(xiàng)式A001(1010 0000 0000 0001)進(jìn)行異或;
· 重復(fù)步驟3和4,直到右移8次,這樣整個(gè)8位數(shù)據(jù)全部進(jìn)行了處理;
· 重復(fù)步驟2到步驟5,進(jìn)行下一個(gè)8位數(shù)據(jù)的處理;
· 最后得到的CRC寄存器即為CRC碼。