Java でのバイト配列の CRC-16 実装の計算に問題があります。基本的に、タグへの書き込みを開始する RFID にバイトを送信しようとしています。Macでtcpdumpコマンドを見ると、配列のチェックサム値がわかります。しかし、私の目標はそれを自分で生成することです。これは、0xbe、0xd9 を生成する必要がある私のバイト配列です。
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 を生成するアルゴリズムは見つかりませんでした。
どんなアイデアでも大歓迎です。前もって感謝します。
編集:これはrfidで提供されたプロトコルです