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.
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.