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