ATTiny4313 - správný vstup do power down

Bez PD funguje program jak má. Při použití PD se občas po probuzení nechová korektně. Jaký je správný postup uspání a vzbuzení procesoru? Předem děkuji za rady. :slight_smile:

Ukaž nám kód a řekni co znamená “nechová se korektně”.

Ahoj, problém snad vyřešen.

void spi_PD(void) { cli(); Edge=0; MCUCR&=(~((1<<ISC11)|(1<<ISC10))); MCUCR |= (1<<SE); //povoleni Power Down MCUCR |= (1<<SM0); MCUCR |= (1<<SM1); GIMSK |= ((0x01 << INT0) | (0x01 << INT1) | (0x01 << PCIE2)); sei(); asm("sleep"); MCUCR &= (~(1<<SE)); //vypnuti Power Down asm("nop"); asm("nop"); }

Původně jsem tam neměl cli(); a zakázání PD jsem měl až v přerušení.
Snad to teď už půjde. :slight_smile: