2020-11-22 10:59 AM
Hi,
I have a few questions for the M24C16 memory (16 Kbit with page size: 16 byte):
1. Does the memory have addresses from 0 to 127, one address per page (2048Bytes / 16)?
2. In datasheet "Byte Write" shows a data frame containing: "Byte address" (one byte) and “Data in�?. Is it possible to write a specific byte, e.g. the second byte of page 0?
3. Is the recommended (efficient) memory usage write / read full pages?
Thanks.
2020-11-22 12:42 PM
You can write bytes or a single byte. When writing you don't want the bytes to span a page, so the maximum aligned write would be a page.
2021-01-13 11:20 AM
Hi,
I have problem with page write to eeprom. Below is an example of write page 100 (0x64) - (I send the command only once) with values 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB (16 values - page size 16 bytes).
Data frame - reading from the logic analyzer:
0xA0 + ACK (EEPROM Address)
0x64 + ACK (Page address)
0xAA + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xFF + ACK
0xBB + ACK
Data reding from eeprom:
I (336) LOG: [EEPROM] Read page 0 [0x00] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
.
.
.
I (1486) LOG: [EEPROM] Read page 81 [0x51] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1496) LOG: [EEPROM] Read page 82 [0x52] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1516) LOG: [EEPROM] Read page 83 [0x53] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1526) LOG: [EEPROM] Read page 84 [0x54] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB]
I (1536) LOG: [EEPROM] Read page 85 [0x55] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA]
I (1556) LOG: [EEPROM] Read page 86 [0x56] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF]
I (1566) LOG: [EEPROM] Read page 87 [0x57] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF]
I (1586) LOG: [EEPROM] Read page 88 [0x58] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF]
I (1596) LOG: [EEPROM] Read page 89 [0x59] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x BB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF]
I (1616) LOG: [EEPROM] Read page 90 [0x5A] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1626) LOG: [EEPROM] Read page 91 [0x5B] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1636) LOG: [EEPROM] Read page 92 [0x5C] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1656) LOG: [EEPROM] Read page 93 [0x5D] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1666) LOG: [EEPROM] Read page 94 [0x5E] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1686) LOG: [EEPROM] Read page 95 [0x5F] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1696) LOG: [EEPROM] Read page 96 [0x60] with values [0xFF, 0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1716) LOG: [EEPROM] Read page 97 [0x61] with values [0xFF, 0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1726) LOG: [EEPROM] Read page 98 [0x62] with values [0xFF, 0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1736) LOG: [EEPROM] Read page 99 [0x63] with values [0xBB, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1756) LOG: [EEPROM] Read page 100 [0x64] with values [0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1766) LOG: [EEPROM] Read page 101 [0x65] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1786) LOG: [EEPROM] Read page 102 [0x66] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
I (1796) LOG: [EEPROM] Read page 103 [0x67] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
.
.
.
I (2146) LOG: [EEPROM] Read page 127 [0x7F] with values [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
Does anyone know why, instead of saving one page, 16 pages are saved ? Why the data is shifted ? Where could the error be ?