M24C02 是 ST 意法半导体推出的 2Kbit(256×8bit)串行 I²C EEPROM,以宽压、高可靠、易集成著称,适合嵌入式系统的非易失性小容量数据存储STMicroelectronics。以下从核心参数、关键特性、结构与寻址
- 灵活寻址:器件地址前四位固定为 1010,后三位由 A0/A1/A2 引脚电平决定,最多可在同总线上挂 8 片。
- 硬件写保护:WP 引脚为高电平时锁定全部存储区,防止误写。
- 丰富读取:支持随机读取、顺序读取,地址自动递增。
- 特殊版本:部分型号含 16 字节 ID 页,可存设备标识或关键参数,部分可永久锁定为只读STMicroelectronics。
- 低功耗:待机电流 μA 级,适合电池供电场景。
原理图:
往M24C02中读写数据,首先要确定设备地址和内存地址。
代码展示 写入M24C02
void eeprom_write(uint8_t addr,uint8_t dat)
{
I2CStart();
I2CSendByte(0xa0);
I2CWaitAck();
I2CSendByte(addr);
I2CWaitAck();
I2CSendByte(dat);
I2CSendAck();
I2CStop();
}
读出M24C02
uint8_t eeprom_read(uint8_t addr)
{
I2CStart(); //IIC起始
I2CSendByte(0xa0); //写入读取的设备地址
I2CWaitAck(); //等待应答
I2CSendByte(addr); //写入内存地址
I2CWaitAck(); //等待应答
I2CStop(); //停止IIC
I2CStart(); //IIC起始
I2CSendByte(0xa1); //写入读取的设备地址
I2CWaitAck(); //等待应答
uint8_t dat=I2CReceiveByte(); //读取数据存入dat中
I2CSendNotAck();
I2CStop(); //停止IIC
return dat;
}