Estoy tratando de poner atmega8a para dormir con este código:
cli();
sleep_enable();
// set power down mode - 0.5mkA
MCUCR |= _BV(SM1);
MCUCR &= ~(_BV(SM2)|_BV(SM0));
sei();
// now sleep until INT0 or reset signal
sleep_cpu();
Sin embargo, parece que el procesador en realidad no entra en suspensión, el consumo de energía no disminuye significativamente.
Pensé que podría haber algún dispositivo periférico que permanezca habilitado puede evitar que Atmega entre en suspensión, pero al revisar la hoja de datos del AVR y el PM no encontré ninguna sugerencia de esto (excepto que el poder de escritura puede ser dañado por eeprom write, que es el cosa que no hago).
¿Podría sugerir dónde buscar más?