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