写入数据到AT24C02需要发送三个字节:
(1)0xa0,器件地址+写命令;
(2)addr,写入AT24C02的地址;
(3)dat, 写入AT24C02地址内的数据
固定地址部分为 ‘1010’,
可编程地址部分为A2、A1、A0为‘000’;
地址+读= 1010 0001 即‘0xa1’;
地址+写= 1010 0000 即‘0xa0’;
AT24C0具有256B,其地址范围~255;
主要分两部分
第一部分:写入数据到AT24C02
void WriteByte_AT24C02(uint8 addr,uint8 dat)
{
IIC_Start();
IIC_SendByte(0xA0);
IIC_WaitAck();
IIC_SendByte(addr);
IIC_WaitAck();
IIC_SendByte(dat);
IIC_WaitAck();
IIC_Stop();
delay_ms(5);
}
第二部分:从AT24C02读出数据
uint8 ReadByte_AT24C02(uint8 addr)
{
uint8 dat;
IIC_Start();
IIC_SendByte(0xA0);
IIC_WaitAck();
IIC_SendByte(addr);
IIC_WaitAck();
IIC_Start();
IIC_SendByte(0xA1);
IIC_WaitAck();
dat=IIC_RecByte();
IIC_Ack(0);
IIC_Stop();
return dat;
}