I am reading RFID tags and writing them to eeprom. I only had one on hand for the longest time and it reads and writes perfectly every time.
The tag number is 4D006A6F25
When I read the bytes back out of eeprom and compare them to the read it compares exactly with no issues.
To move beyond that, I got some more tags. These tags are all very similar in their numbering and here is an example:
840033789A
When I read the first byte back out it shows up as FFFFFF84 which of course will not compare to the read 84.
I suspect that it has to do with how I am writing to eeprom and everything worked for the first tag. So what is different?
Here is the code I use to write to eeprom:
for (int i = 0; i < 5; i++)
{
EEPROM.write(eepromindex,code[i]);
Serial.print("Index: ");
Serial.print(eepromindex);
Serial.print(",");
Serial.println(code[i],HEX);
eepromindex++;
}
code[] holds the 5 bytes of the tag id. eepromindex is simply indexed each time a write is made.
The result of the print is:
Index: 0,84
Index: 1,0
Index: 2,33
Index: 3,78
Index: 4,9A
When I do the compare to eeprom off of a subsequent read, I print the results of the bytes until I get the first failed match. These tags are failing on the first byte with the following serial print:
84:FFFFFF84
Help!