Hodiny běží pomocí RTC s TIMER2 v asynchronním modu. Hodiny mi běží ale řeším záložní napájení.
Napájení je ze sítě + záložní baterie, oddělené diodami. Napájení je detekováno Log1 na jednom pinu.
Nedaří se mi nastavit SLEEp mod POWER SAVE při napájení z baterie
Kód: Vybrat vše
if(READ_SUPPLY_PIN==0)
{
//Napájení odpojeno, zrušit povolení přerušení od TIMER0,
//odpojit segmenty,zapnutí SLEEP mod POWER SAVE
//Zakázat přerušení od TIMER0
TIMSK&=~(1<<TOIE0);
//Vypnutí segmisegmentovek
SEVEN_SEGMENT_PORT=0X00;
SEGMENT_PORT&=~((1 << _SEG_HOD_10) | (1 << _SEG_HOD_01) | (1 << _SEG_MIN_10) | (1 << _SEG_MIN_01));
//Kontrola TIMER2
while (!(ASSR & ((1<<TCN2UB)|(1<<TCR2UB)|(1<<OCR2UB))));
//nastaveni SLEEP modu
set_sleep_mode(SLEEP_MODE_PWR_SAVE);
sleep_mode();
//Povolení přerušení od čassovače TIMER0
TIMSK|=(1<<TOIE0);
TCNT0=0;
}
Dokážete poradit?