代码编织梦想

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 UNODS1307
A4SDA
A5SCL
VCCVCC
GNDGND

在这里插入图片描述

测试代码

在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:

}

实验结果

通过串口助手显示出写入和读取存储器的数据
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42250136/article/details/128694876