cancel
Showing results for 
Search instead for 
Did you mean: 

About M24C16

APako.1
Associate

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.

2 REPLIES 2

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.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
APako.1
Associate

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 ?