写入u16类型的数据
u16 u16_write = 1234;
u16 u16_read = 0;
Write_AT24c02(0x00,u16_write/256);
Delay_Ms(5);
Write_AT24c02(0x01,u16_write%256);
Delay_Ms(5);
u16_read = Read_AT24c02(0x00)*256+Read_AT24c02(0x01);
写入float类型的数据,保留小数后四位
float float_write = 3.1415;
float float_read = 0;
Write_AT24c02(0x03,(u16)(float_write*1000)/256);
Delay_Ms(5);
Write_AT24c02(0x04,(u16)(float_write*1000)%256);
Delay_Ms(5);
float_read = (Read_AT24c02(0x03)*256+Read_AT24c02(0x04))/1000.f;
float float_read;
float_read=5555/1000;
printf("float_read=%f\n",float_read);
float_read=5555.f/1000;float_read=5555/1000.f;
float_read=(float)5555/1000;float_read=5555/1000(float);
写入负数
s8 minus_write = -23;
if(minus_write<0)
{
Write_AT24c02(0x06,'-');
Delay_Ms(5);
Write_AT24c02(0x07,-minus_write);
Delay_Ms(5);
}
if(Read_AT24c02(0x06)=='-')
{
minus_read = 0 - Read_AT24c02(0x07);
}
写入字符串,字符以ASCII码存储
u8 write_str[]="hello world";
u8 str_read[11]={0};
for(i=0;i<sizeof(write_str);i++)
{
Write_AT24c02(0x10+i,str[i]);
Delay_Ms(5);
}
for(i=0;i<sizeof(write_str);i++)
{
read_str=Read_AT24c02(0x10+i);
}
利用共同体读写
union eeprom_float
{
float a;
u8 b[4];
}float_write,float_read;
float_write.a = 3.1415926;
for(i=0;i<sizeof(float);i++)
{
Write_AT24c02(0x10+i,float_write.b[i]);
Delay_Ms(5);
}
for(i=0;i<sizeof(float);i++)
{
float_read.b[i]=Read_AT24c02(0x10+i);
}
union eeprom_s16
{
s16 a;
u8 b[2];
}s16_write,s16_read;
s16_write.a = -1234;
for(i=0;i<sizeof(s16);i++)
{
Write_AT24c02(0x20+i,s16_write.b[i]);
Delay_Ms(5);
}
for(i=0;i<sizeof(s16);i++)
{
s16_read.b[i]=Read_AT24c02(0x20+i);
}