|
4 | 4 | Created: June 23, 2023
|
5 | 5 | License: Lemonadeware. Buy me a lemonade (or other) someday.
|
6 | 6 |
|
7 |
| - This sketch demonstrates how to detect memory size, address bytes, |
| 7 | + This sketch demonstrates how to detect memory size, address bytes, |
8 | 8 | page size, and write time. You can also pre-assign these specs to avoid
|
9 | 9 | the start up delay caused by the detection routines.
|
10 | 10 |
|
11 | 11 | Known/compatible memory types (basically all I2C EEPROMs):
|
12 |
| - 24XX00 - 128 bit / 16 bytes - 1 address byte, 1 byte page size |
13 |
| - 24XX01 - 1024 bit / 128 bytes - 1 address byte, 8 byte page size |
14 |
| - 24XX02 - 2048 bit / 256 bytes - 1 address byte, |
15 |
| - 24XX04 - 4096 bit / 512 bytes - 1 address byte, 16 byte page size |
16 |
| - 24XX08 - 8192 bit / 1024 bytes - 1 address byte, |
17 |
| - 24XX16 - 16384 bit / 2048 bytes - 1 address byte, 16 byte page size |
18 |
| - 24XX32 - 32768 bit / 4096 bytes - 2 address bytes, 32 byte page size |
19 |
| - 24XX64 - 65536 bit / 8192 bytes - 2 address bytes, 32 byte page size |
20 |
| - 24XX128 - 131072 bit / 16384 bytes - 2 address bytes, |
21 |
| - 24XX256 - 262144 bit / 32768 bytes - 2 address bytes, |
22 |
| - 24XX512 - 524288 bit / 65536 bytes - 2 address bytes, 128 byte page size |
23 |
| - 24XX1024 - 1024000 bit / 128000 byte - 2 address bytes, 128 byte page size |
24 |
| - 24XXM02 - 2097152 bit / 262144 byte - 2 address bytes, 256 byte page size |
| 12 | + 24xx00 - 128 bit / 16 bytes - 1 address byte, 1 byte page size |
| 13 | + 24xx01 - 1024 bit / 128 bytes - 1 address byte, 8 byte page size |
| 14 | + 24xx02 - 2048 bit / 256 bytes - 1 address byte, 8 byte page size |
| 15 | + 24xx04 - 4096 bit / 512 bytes - 1 address byte, 16 byte page size |
| 16 | + 24xx08 - 8192 bit / 1024 bytes - 1 address byte, 16 byte page size |
| 17 | + 24xx16 - 16384 bit / 2048 bytes - 1 address byte, 16 byte page size |
| 18 | + 24xx32 - 32768 bit / 4096 bytes - 2 address bytes, 32 byte page size |
| 19 | + 24xx64 - 65536 bit / 8192 bytes - 2 address bytes, 32 byte page size |
| 20 | + 24xx128 - 131072 bit / 16384 bytes - 2 address bytes, 64 byte page size |
| 21 | + 24xx256 - 262144 bit / 32768 bytes - 2 address bytes, 64 byte page size |
| 22 | + 24xx512 - 524288 bit / 65536 bytes - 2 address bytes, 128 byte page size |
| 23 | + 24xx1024 - 1024000 bit / 128000 byte - 2 address bytes, 128 byte page size |
| 24 | + 24xxM02 - 2097152 bit / 262144 byte - 2 address bytes, 256 byte page size |
25 | 25 | */
|
26 | 26 |
|
27 | 27 | #include <Wire.h>
|
@@ -58,7 +58,7 @@ void setup()
|
58 | 58 | //Page size detection is limited by the platform. For example, the Uno has a I2C buffer
|
59 | 59 | //that is 32 bytes. Therefor, page sizes above 16 bytes cannot be detected or used. For maximum
|
60 | 60 | //write speeds to an EEPROM, use a platform with a large I2C buffer (ie ESP32 is 128 bytes)
|
61 |
| - //and an EEPROM with a large page size (24XX512 is 128 bytes). |
| 61 | + //and an EEPROM with a large page size (24XX512 is 128 bytes). |
62 | 62 | Serial.print("Detected pageSizeBytes: ");
|
63 | 63 | Serial.println(myMem.detectPageSizeBytes());
|
64 | 64 |
|
|
0 commit comments