Tryb Power Down w ATmega8

Witam wszystkich!

Od pewnego czasu męczę się z problemem wymienionym w temacie. Procek wchodzi w tryb uśpienia (pobór prądu spada do kilku uA) jednak nie jestem w stanie wybudzić go z powrotem za pomocą przerwań. Procek bez problemu obsługuje przerwania gdy wprowadzę go w tryb IDLE, jednak z POWER DOWN nie może się wybudzić. Z archiwum grupy i z noty katalogowej wynika moim zdaniem, że istnieje możliwość wybudzenia za pomocą przerwań Int0 i Int1. Co może być nie tak?

P.S. Oto kod programu:

(...) //include'y i define'y

void wait(int delay){ int i; for(;delay>0;delay--) for(i=0;i<50;i++) asm("nop"); }

void dioda(void){ sbi(PORT_DIODA,PIN_DIODA); wait(1000); cbi(PORT_DIODA,PIN_DIODA); }

SIGNAL(SIG_INTERRUPT0){ } SIGNAL(SIG_INTERRUPT1){ }

int main(void){ MCUCR=0x0A; GICR=0xC0; DDRB=0xFF; DDRD=0xF3; PORTD=0x0C; while(1){ dioda(); sei(); set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); dioda(); wait(1000); dioda(); } return(0); }

Reply to
Michal Waskiewicz
Loading thread data ...

Tue, 29 Mar 2005 19:07:28 +0200, na pl.misc.elektronika, Michal Waskiewicz napisał(a):

To zdaje się wyzwalanie zboczem, a z power down budzą tylko wyzwalane poziomem.

Reply to
Jurek Szczesiul

Bardzo dziękuję, rzeczywiście w tym był problem, a wydawało mi się, że sprawdzałem wszystkie możliwe sposoby ustawienia tych bitów :-)

Reply to
Michal Waskiewicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.