85 | | how to read data blocks |
| 85 | If you want to read back data blocks from an RFID tag directly the command will be in the following format:' |
| 86 | |
| 87 | {{{ |
| 88 | Byte 1 is 36 for the start of the frame |
| 89 | Byte 2 is 0D for the length of the packet INCLUDING the checksum |
| 90 | Byte 3 is the starting block to read |
| 91 | Byte 4 is the number of blocks to read, 0 based so 0 = 1 block, 9 = 10 blocks |
| 92 | Byte 5-12 is the UID to be read in reverse byte order |
| 93 | Byte 13 is the checksum calculated using a XOR operation |
| 94 | }}} |
| 95 | |
| 96 | An example of this command sent to UID E0 04 01 00 1C E3 BD 06 to read 10 blocks starting at block 3 would look like this: |
| 97 | |
| 98 | {{{ |
| 99 | 36 0D 03 09 06 BD E3 1C 00 01 04 E0 90 |
| 100 | }}} |
| 101 | |
| 102 | The response to this command would be in the following format: |
| 103 | |
| 104 | {{{ |
| 105 | Byte 1 is A6 for the start of the frame |
| 106 | Byte 2 is 2B for the length INCLUDING the checksum |
| 107 | Byte 3-(length-1) is the data |
| 108 | Byte (length) is the checksum calculated using a XOR operation |
| 109 | }}} |
| 110 | |
| 111 | Using the command example above the data returned as a response could look like this: |
| 112 | |
| 113 | {{{ |
| 114 | A6 2B 54 65 73 74 20 43 61 72 20 4E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CC |
| 115 | }}} |
| 116 | |