Atmega8 no ingresa al modo de apagado en sleep_cpu ()

0

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?

    
pregunta begemotv2718

1 respuesta

2

Ok, parece que estaba equivocado de que los periféricos no influyen en el consumo de energía. En mi caso, el problema fue habilitado uart, deshabilitándolo antes de que el apagado realmente redujera significativamente el consumo de energía.

    
respondido por el begemotv2718

Lea otras preguntas en las etiquetas