AT24C02是一款由Atmel公司(现Microchip Technology)生产的基于I2C接口的2Kb(256字节)电可擦除可编程只读存储器(EEPROM)。以下是AT24C02的主要特性:
存储容量:2Kb,即256字节,组织为32页,每页8字节 (M24C02 每页16字节)。
接口标准:采用两线制I2C串行接口,包括SDA(Serial Data Line)和SCL(Serial Clock Line)。
工作电压:通常为2.5V至5.5V。
寻址方式:7位I2C地址,可以通过硬件连线调整其中的部分位来支持多片AT24C02在同一总线上工作。
写入操作:写入一个字节后,需要最小5ms的写周期才能保证数据被正确写入。写操作支持页写,一页为8字节,但不支持跨页写入。
在使用AT24C02时,需要注意每次写入一页(8字节)数据后,确保有足够的写周期延时,然后再进行下一页的写入操作。读取数据时,则可以根据地址连续或随机读取任意位置的字节。
/*-------------------------------------------------*/
/*函数名:24C02写入一字节数据 */
/*参 数:addr:地址 wdata:需要写入的数据 */
/*返回值:0:正确 其他:错误 */
/*-------------------------------------------------*/
uint8_t M24C02_WriteByte(uint8_t addr, uint8_t wdata)
{
i2c_Start(); //发送起始信号
i2c_SendByte(M24C02_WADDR); //发送24C02写操作器件地址
if(i2c_WaitAck()!=0) return 1; //等待应答,错误的话,返回1
i2c_SendByte(addr); //发送内部存储空间地址
if(i2c_WaitAck()!=0) return 2; //等待应答,错误的话,返回2
i2c_SendByte(wdata); //发送数据
if(i2c_WaitAck</