问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Arduino UNO驱动 AT24C256 EEPROM存储器模块

创作时间:
作者:
@小白创作中心

Arduino UNO驱动 AT24C256 EEPROM存储器模块

引用
CSDN
1.
https://blog.csdn.net/qq_42250136/article/details/128694876

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,若要存储大量数据的话是不够的。因此,外接一个AT24C256 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:
}

实验结果

通过串口助手可以显示出写入和读取存储器的数据。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号