I'm playing around with a bunch of i2c eeprom, writing my own read/write procedures using the Wire library. Everything works nice but now I wonder ... should I consider the first memory register address being 0 or 1?
Fact is, when I use a negative address the requestFrom() returns data anyway, it's like it's wrapping around to the end of the eeprom. I can't seem to find a clear definition about this detail. So I don't know if after a Wire.send(1) the Wire.requestFrom(device_address, 1) will return the first eeprom address value or the second one.
I suppose the first eeprom register index should be 0 (like in arrays indexing), but I'd really like to be shure about that.