Tôi đang gặp vấn đề với việc tính toán CRC-16 thực hiện một mảng byte trong java. Về cơ bản tôi đang cố gắng gửi byte đến một RFID bắt đầu viết vào một thẻ. Tôi có thể thấy giá trị checksum của mảng bằng cách tìm lệnh tcpdump trên mac. Nhưng mục tiêu của tôi là tạo ra nó một mình. Đây là mảng byte của tôi nên tạo 0xbe, 0xd9:crc16 thực hiện 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 là tiêu đề. Theo tài liệu nói rằng nó sẽ bị loại trừ.
Bất cứ khi nào tôi thử mảng này trên java (với 0xbe, 0xd9), RFID hoạt động. Vấn đề của tôi là tạo ra các giá trị tổng kiểm tra đó. Tôi đã tìm kiếm gần như toàn bộ trang web nhưng không có cơ hội. Tôi không thể tìm thấy bất kỳ thuật toán nào tạo ra 0xbe, 0xd9.
Bất kỳ ý tưởng nào được chào đón nhiều nhất đối với tôi. Cảm ơn trước.
chỉnh sửa: here is the protocol rằng cung cấp RFID
Tôi không biết cảm ơn bạn như thế nào. Tuyệt vời appriciated. Nhưng tôi không thể tránh khỏi việc hỏi, bạn thấy vấn đề gì giữa hai người đó? –