Добавлю что работаю с codevision. Код примерно такой. На счет того что то работает то нет,
буквально именно так. Записываю - работает, записываю следующий раз нет и тд. Причем если
Убрать строку проверки счетчика, то работает четко, просыпаясь раз в 8 секунд, но надо много реже.
void main(void)
{
/
// Timer/Counter 2 initialization
// Clock source: TOSC1 pin
// Clock value: PCK2/1024
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x08;
TCCR2=0x07;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
SFIOR=0x00;
// Global enable interrupts
#asm("sei")
while (1)
{
if(timer_count>15)
{
//Тут чего-то делаем раз в 2 минуты
}
timer_count++;
powersave();
sleep_enable();
#asm("nop")
};
}