Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Despertar un micro desde el USART. Ayuda.

4 Respuestas
3 Usuarios
0 Reactions
1,731 Visitas
morgoz
Respuestas: 208
Topic starter
(@morgoz)
Estimable Member
Registrado: hace 19 años

Hola!!

Me gustaría saber si alguno conoce la manera de dormir un microcontrolador (meterlo en algún modo de SLEEP) y despertarlo a la entrada de datos en el USART.
La pregunta más bien va enfocada a qué modo de SLEEP permite hacer algo similar y si es sencillo de manejar.

El microcontrolador sobre el que me interesaría conocer si se puede hacer algo similar es el Atmega16, con el que sé que con el modo Idle el USART se mantiene despierto, pero necesitaría un modo SLEEP que optimizase mejor el consumo que un simple Idle. De todas maneras, si con otro microcontrolador sabeis que se pueda hacer algo similar y más optimizado, comentarlo.

Muchas gracias.

Responder
3 respuestas
roboticsbcn
Respuestas: 244
(@roboticsbcn)
Estimable Member
Registrado: hace 20 años

Hola MorgoZ, no tengo ni idea de si el Atmega16 en modo SLEEP despierta cuando recibe datos serie. Como seguramente se puede despertar por interrupción externa, puedes poner la recepción de datos serie a la entrada de interrución externa. De esta manera despertará en el bit de start e incluso es posible que puedas capturar el 1r dato serie.

Suerte!

Responder
morgoz
Respuestas: 208
Topic starter
(@morgoz)
Estimable Member
Registrado: hace 19 años

Muchas gracias pormla respuesta, roboticsBCN, lo tendré en cuenta y a ver si se puede aplicar 😉

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

¡Feliz año!

Para los AVR, hay diferentes modos de 'dormir'. Según el modo, tienes más o menos formas de 'despertar' el micro. Para hacerlo desde los periféricos digitales como el USART, sólo puedes usar el modo IDLE (tanto para Mega16 como Mega640), pues es el único que sigue con el clock de periféricos en marcha, tal y como tu comentas.

Pero la ventaja del Mega640, és que puedes ir parando los relojes de manera individual para cada periférico, de manera que puedes reducir mucho el consumo en modo Idle, con los registros de Power Reduction (pagina 55 del datasheet).

De todas maneras, reducir el consumo de un circuito es algo más que simplemente poner el micro a dormir, y puede conllevar muchas consideraciones, sobre todo, de la circuitería conectada a los pines.

Beamspot.

Responder
Compartir: