Trích:
Nguyên văn bởi the_duyet
Bác nào có ví dụ về ghi và đọc eeprom cho giá trị 16 bit thì cho a e tham khảo với, chứ nói thế này ứng dụng khó quá....
|
Prototype các hàm đọc ghi EEPROM 16/32 bits:
Code:
void write_eeprom_16(int16 address,int16 value); //Ghi so 16-bits
int16 read_eeprom_16(int16 address); //Doc so 16-bits
void write_eeprom_32(int16 address,int32 value); //Ghi so 32-bits
int32 read_eeprom_32(int16 address); //Doc so 32-bits
Hiện thực của các Prototype:
Code:
void write_eeprom_16(int16 address,int16 value)
{
int i;
for(i=0;i<sizeof(value);i++,address++){
write_eeprom(address,*((char *)(&value)+i));
}
}
int16 read_eeprom_16(int16 address)
{
int16 ret;
int i;
for(i=0;i<sizeof(int16);i++,address++){
*((char *)(&ret)+i)=read_eeprom(address);
}
return ret;
}
void write_eeprom_32(int16 address,int32 value)
{
int i;
for(i=0;i<sizeof(value);i++,address++){
write_eeprom(address,*((char *)(&value)+i));
}
}
int32 read_eeprom_32(int16 address)
{
int32 ret;
int i;
for(i=0;i<sizeof(int32);i++,address++){
*((char *)(&ret)+i)=read_eeprom(address);
}
return ret;
}