Tryb Power Down w ATmega8

Mar 29, 2005 2 Replies

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); }


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.

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 :-)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required