我在計算java-byte數組的CRC-16實現時遇到了問題。基本上我正在嘗試將字節發送到開始寫入標籤的RFID。通過在mac上查看tcpdump命令,我可以看到數組的校驗和值。但我的目標是自己生成它。這是我應該生成0xbe,0xd9的字節數組:crc16實現java
byte[] bytes = new byte[]{(byte) 0x55,(byte) 0x08,(byte) 0x68, (byte) 0x14,
(byte) 0x93, (byte) 0x01, (byte) 0x00, (byte) 0x00,
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06,
(byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x00,
(byte) 0x13, (byte) 0x50, (byte) 0x00, (byte) 0x00,
(byte) 0x00, (byte) 0x22, (byte) 0x09, (byte) 0x11};
0x55是標頭。正如文件所說,它將被排除在外。
每當我在java上嘗試這個數組(0xbe,0xd9)時,RFID就起作用。我的問題是生成這些校驗和值。我搜索了幾乎整個網頁,但沒有機會。我找不到任何生成0xbe,0xd9的算法。
任何想法是最受歡迎的。提前致謝。
編輯:here is the protocol是提供RFID
我不知道該如何謝謝你。非常appriciated。但我不能不問,你認爲這兩者之間的問題是什麼? –