這個(gè)是Modbus RTU CRC16,套用的多項(xiàng)式為X16+X15+X2+1
算法為:將初始數(shù)據(jù)設(shè)置為FFFF,然后,將第一個(gè)數(shù)據(jù)H05與初始數(shù)據(jù)做異或,結(jié)果保存在CRC寄存器中。
將CRC中的數(shù)據(jù)右移,直到Flag位為1,將結(jié)果與多項(xiàng)式進(jìn)行異或,保存在CRC寄存器,然后CRC寄存器中的數(shù)據(jù)繼續(xù)右移,直到Flag為1,然后繼續(xù)上面這一步,直到第一個(gè)數(shù)據(jù)處理完畢。此時(shí),裝入第二個(gè)數(shù)據(jù),繼續(xù)上述過(guò)程,直到所有的數(shù)據(jù)處理完畢。
你的這個(gè)如果使用手工計(jì)算的話,大約要計(jì)算61步,其中還要確保你不被轉(zhuǎn)暈掉。用Execl畫(huà)表格計(jì)算會(huì)更快一點(diǎn),當(dāng)然,你也可以去下載計(jì)算器來(lái)計(jì)算。
Regards