Framework (A-Z)

Referencia para la versión de Wiring 1.0 Build 0100+. Si tiene una versión previa, use la referencia incluida con su software. Si encuentra errores o tiene comentarios, no dude en contactarnos.

Nombre

sleep()

Ejemplos
// ...

// inicializa el modo de sleep en SLEEP_IDLE
sleepMode(SLEEP_IDLE);
sleep(); // activa sleep
  
if (some_condition)
{
  noSleep(); // despierta
}
  
// ...
Descripción El comando sleep() permite a una aplicación reducir su consumo de potencia de manera considerable. Los modos de Sleep permiten a una aplicación apagar módulos no utilizados en el microcontrolador ahorrando potencia. El modo por defecto es SLEEP_IDLE. Diferentes dispositivos AVR proveed varios modos de sleep que permiten el usuario escoger el consumo de la manera más apropiada. Hay seis (6) modos de sleep que se pueden usar con el comando sleepMode().
SLEEP_IDLE: hace que el microcontrolador entre en modo desocupado, deteniendo la CPU pero permitiendo continuar operando SPI, Serial, Comparador Análogo, ADC, Wire, Timer/Counters y el sistema de interrupciones. Este modo permite al microcontrolador despertar por cualquier interrupción externa y externa como Timer Overflow y Serial Transmit Complete.
SLEEP_ADC: hace que el microcontrolador entre en modo de reducción de ruido en el ADC, deteniendo la CPU pero permitiendo funcionar el ADC, interrupciones externas, Wire Serial Interface address match y Timer/Counter2. Esto mejora el ambiente de ruido para el ADC, permitiendo mediciones de mayor resolución. Si el ADC está habilitado, una conversión comienza automáticamente cuando se entra en este modo. Solo un RESET externo, una interrupción en Wire serial interface, una interrupción en Timer/Counter2, o una interrupción SPM/EEPROM ready, una interrupción externa en INT7:4 o una interrupción de cambio de pin puede despertar el microcontrolador de este modo.
SLEEP_POWER_DOWN: En este modo se detiene el oscilador externo, mientras que las interrupciones externas y Wire Serial Interface continúan operando. Solo un RESET externo, Wire Serial Interface address match, una interrupció de nivel en INT7:4, una interrupción externa en INT3:0, o una interrupción de cambio de pin pueden despertar el microcontrolador. Este modo de sleep basicamente desactiva todos los relojes generados, permitiendo la operació de los módulos asincrónicos solamente.
SLEEP_POWER_SAVE: Este modo es idéntico a SLEEP_POWER_DOWN, con una excepción: Si Timer/Counter2 está habilitado, este continuará funcionando durante el sleep. El dispositivo puede despertarse por un evento de Timer Overflow o Output Compare de Timer/Counter2 si la corrspondiente interrupción de Timer/Counter2 está y las interrupciones globales están habilitadas. Si Timer/Counter2 no está activo, se recomienda el modo SLEEP_POWER_DOWN en lugar del modo SLEEP_POWER_SAVE. El Timer/Counter2 puede ser pulsado de manera sincrónica y asincrónica en el modo SLEEP_POWER_SAVE. Si el Timer/Counter2 no está usando el reloj asincrónico, el oscilador del Timer/Counter se detiene durante el sleep. Si el Timer/Counter2 no está usando el reloj sincrónico, la fuente de reloj se detiene durante el sleep. Note que aún su el reloj sincrónico está funcionando en SLEEP_POWER_SAVE, este reloj solo está disponible para el Timer/Counter2.
SLEEP_STANDBY: Este modo es idéntico al modo SLEEP_POWER_SAVE con la excepción de que el oscilador se mantiene funcionando.
SLEEP_EXTENDED_STANDBY: Este modo es idéntico al modo SLEEP_POWER_SAVE con la excepción de que el oscilador se mantiene funcionando. Desde el modo SLEEP_EXTENDED_STANDBY, el dispositivo se despierta en seis (6) ciclos de reloj.
Sintaxis
sleep()
Retorna None
Uso Application
Relacionados sleep()
noSleep()
sleepMode()
Updated on July 07, 2011 11:13:41pm PDT

Creative Commons License