24LC256/24LC128 — последовательная I2C EEPROM (Arduino)

24LC256/24LC128 это электрически стираемое ППЗУ с организацией памяти 32 Кх8 (256 Кбит) / 16 Кх8 (128 Кбит), работающее в широком диапазоне питающих напряжений (1.7 В — 5.5 В). Создано для применения в низко-потребляющих системах. Предоставляет возможность страничной записи данных размером до 64 байт. Поддерживается как последовательное, так и произвольное чтение данных. Адресные выводы позволяют организовать единое адресное пространство до 2-х Мбит, разместив на одной шине до 8-ми микросхем.

Так же в ППЗУ предусмотрена защита от записи, для этого WP быть подключен либо к GND либо к VCC. Если соединен с GND операции записи разрешены. Если соединен с VCC операции записи запрещены, на операции чтения состояние вывода не влияет.

Подключить внешнюю EEPROM память к Arduino довольно просто, тем более если используете модуль hw-669.

Адрес 24LСXXX расшифровывается как 1010A2A1A0 (0 = GND, 1 = VCC)

A2=0, A1=0,  A0=0 | 1010000 = 0х50

A2=0, A1=0,  A0=1 | 1010001 = 0х51

A2=0, A1=1,  A0=0 | 1010010 = 0х52

A2=0, A1=1,  A0=1 | 1010011 = 0х53

A2=1, A1=0,  A0=0 | 1010100 = 0х54

A2=1, A1=0,  A0=1 | 1010101 = 0х55

A2=1, A1=1,  A0=0 | 1010110 = 0х56

A2=1, A1=1,  A0=1 | 1010111 = 0х57

При использовании простой библиотеки 24LC можно организовать побайтовое чтение и запись данных  EEPROM.

Ниже показан скетч в котором данные массива data записываются в EEPROM в ячейки памяти от 0 до 9, далее происходит чтение данных и вывод из содержимого в монитор порта.

#include <Wire.h>
#include <24LC.h> // http://rcl-radio.ru/wp-content/uploads/2020/03/24LC-2.zip
EEPROM24LC eeprom(0x50);
 
byte data[10]{12,24,48,96,128,12,4,55,68,250};
unsigned int i;
 
void setup(){    
    Serial.begin(9600);
    // write
    for(i=0;i<10;i++){eeprom.writeWire(i,data[i]);}
    // read
    for(i=0;i<10;i++){Serial.print(i);Serial.print("  ");Serial.println(eeprom.readWire(i));}  
} 
 
void loop(){}

24LC256/24LC128 32768/16384 байт

 

writeWire(адрес, байт); // запись

readWire(адрес); // чтение

Форум — http://forum.rcl-radio.ru/viewtopic.php?id=141

Добавить комментарий

Войти с помощью: