i2c EEPROM读写注意事项

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</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值