Код: Выделить всё
template int EEPROM_put(int ee, const T& value) {
const byte* p = (const byte*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) foo(ee++, *p++);
return i;
}
template int EEPROM_get(int ee, T& value) {
byte* p = (byte*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) *p++ = foo(ee++);
return i;
}
Код: Выделить всё
int EEPROM_put(int ee, u16 value){
const u8* p = (const u8*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) {
eeprom_write_1byte(ee++, *p++); Delay_Ms(10);
}
return i;
}
int EEPROM_get(int ee, u16 value) {
u8* p = (u8*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) {
*p++ = eeprom_read_1byte(ee++); Delay_Ms(10);
}
return i;
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... ction-in-c
Мобильная версия