сделал так
Код
eeprom int Datamemory=40; // обьявляем переменные
int readydata,var;
interrupt [TIM0_OVF] void timer0_ovf_isr(void){
readydata++; // в прерывании инкрементируем
};
while (1)
{
if (readydata==392) { // каждые ~ 100мсек
readydata=0;
if (Datamemory!=var) { // если значение в eeprom не равно текущему значению
Datamemory=var; // записываем текущее значение в eeprom
};
};
};
}
временной интервал проверки уменьшил до 100мсек так как при оном равном 1 сек при выключении питания записывался мусор(при сбросе все нормально

).
понимаю что так записывать наверно неправильно, так что жду критики.
Сообщение отредактировал RicLab - Feb 12 2011, 04:43