tanxia
級(jí)別: 探索解密
![]() |
最近在做三菱FX2N與歐母龍變頻器的通信,遇到一個(gè)問題,就是看不明白歐母龍變頻器通信格式中的異常檢查-CRC-16要如何計(jì)算,請(qǐng)各位幫幫忙 |
---|---|
|
meiyouleya
天黑路滑,社會(huì)復(fù)雜!!!
級(jí)別: 略有小成
![]() |
說明: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è)例子程序看下。 |
---|---|
|