学习IIC过程中对AT24Cxx读写操作的代码逻辑理解花了一定的时间,记录备忘。
24Cxx中xx代表芯片容量xxKbit。即24C02为2K,256字节,24C04为4K,512字节,以此类推。
设备地址格式如下:
高4位为1010不变。
A0,A1,A2为设备地址,由硬件接线方式决定,接VCC为1,接GND为0。
最低位R/W为读/写位,0为写,1为读。
P0、P1、P2为内存页地址(内存高位地址)。
读写数据帧格式如下:
24Cxx写一个字节操作
//在AT24CXX指定地址写入一个数据
//WriteAddr :写入数据的目的地址
//DataToWrite:要写入的数据
void AT24CXX_WriteOneByte(u16 WriteAddr,u8 DataToWrite)
{
IIC_Start();
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); //发送写命令