1
如何在java中通過CRC16 modbus計算長度?如何在java中通過CRC16 modbus計算長度?
我已發現在鏈接下面的方法:
http://www.codeproject.com/Articles/19214/CRC-16-Calculation
如何在第二個參數傳遞長度值。
public int crc16(byte[] modbusframe,int Length)
{
int i;
int index;
int crc_Low = 0xFF;
int crc_High = 0xFF;
for (i = 0; i<Length; i++)
{
index = crc_High^(char)modbusframe[i];
crc_High = crc_Low^crc_table[index];
crc_Low = (byte)crc_table[index+ 256];
}
return crc_High*256+crc_Low;
}
預先感謝..
我不明白你的問題,因爲你已經將長度作爲第二個參數傳遞了。請注意,你並不需要通過它,你可以改爲使用modbusframe.length。 – PhiLho
我從codeproject網站獲得。我不知道如何計算CRC。所以我問這個。我通過了16,modbusframe.length,並且所有我都遇到了錯誤。 –
定義'出錯'。那裏有更好的計算版本。您不需要分別計算高字節和低字節。 – EJP