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