Arduino UNO驱动 AT24C256 EEPROM存储器模块
- AT24C256模块简介
- 模块引脚定义
- Arduino UNO与模块接线
- 测试代码
- 实验结果
AT24C256模块简介
AT24C256是一个串行EEPROM存储器,提供了256k bit=256*1024 bit=262144 bit=32768 Byte=32K Byte大小的存储空间,在芯片内部被分配为512页,每页64-Byte,写入数据时可按单字节写入或按整页写入,读取数据时可按当前地址读取一个字节或顺序读取多个字节或随机读取一个字节。数据保持最大可达40年而不丢失,擦写次数可达100万次。IIC通信接口,7位器件地址为1010A2A1A0,通信速率可达1MHz。带硬件读写保护引脚。
由于Arduino UNO自带了很小的EEPROM 1KB,若要存储大量的数据的话是不够的,若外接一个EEPROM可增大其存储空间。
模块引脚定义
SCL:IIC接口时钟信号线;SDA:IIC接口数据信号线;VCC:1.7-5.5V电源正极;GND:电源负极
由原理图可知器件地址为0x50
Arduino UNO与模块接线
Arduino UNO | DS1307 |
---|---|
A4 | SDA |
A5 | SCL |
VCC | VCC |
GND | GND |
测试代码
在Arduino IDE库管理器搜索AT24C256,并安装如图示所例程库
打开read_write.ino例程
#include <AT24C256.h>
AT24C256 eeprom(0x50);
void setup() {
char message[30];
char writemessage[] = "https://www.yourcee.com";
Serial.begin(9600);
Serial.println("reading eeprom");
eeprom.read(0, (uint8_t*) message, sizeof(message));
Serial.println(message);
eeprom.write(0, (uint8_t*)writemessage, sizeof(message));
Serial.println("wrote eeprom");
Serial.println("reading eeprom");
eeprom.read(0, (uint8_t*) message, sizeof(message));
Serial.println(message);
}
void loop() {
// put your main code here, to run repeatedly:
}
实验结果
通过串口助手显示出写入和读取存储器的数据