Hello,
I like to know what "void i2c_eeprom_write_page"
and "void i2c_eeprom_read_buffer" functions are using for?
Can I use them in order to read/write values of more than 1 byte?
Will it work for integers?
thanks!
omri
Hello,
I like to know what "void i2c_eeprom_write_page"
and "void i2c_eeprom_read_buffer" functions are using for?
Can I use them in order to read/write values of more than 1 byte?
Will it work for integers?
thanks!
omri
I assume we're talking about the microchip 24xxyyy family?
I haven't explored too closely, but there are limits with Wire.h's implementation (specifically, the buffer size) that would prevent you from doing a full 64 byte page write. IIRC, you're limited to a buffer of 32 bytes, which means you'd be able to write less than 32 bytes of data in a "page".
Apparently you can write part of a page to the EEPROM, but you cannot write across a physical page boundary. What I have not explored is if you must start the write at the page boundary, or if you can start the page write anywhere within the physical page. If so, you could do, say, four 16 byte page writes to fill up a page.
If your application can stand the RAM loss, you can also hack the Wire library to increase the buffer size so that it will buffer a 64 byte page (plus necessary I2C overhead).
-j