Todo sobre interrupciones con AVR

Publicado por en Programación el 29/09/2010

imagen: electronics-lab

La interrupciones en el mundo de los microcontroladores son extremadamente útiles y comunmente utilizadas en todo tipo de proyectos. Hacen que el chip esté atento a un particular evento y una vez detectado, detiene su ejecución actual para ejecutar un trozo de código específico llamado ISR (Interrupt Service Routine). Que se puede hacer con interrupciones? Pueden ser utilizadas para un amplio abanico de cosas como para despertar el microcontrolador del modo Sleep al pulsar un botón (y así ahorrar energía), monitorizar un temporizador para que cuando llegue a un determinado valor se ejecute un código específico y todo esto sin preocuparnos por nuestro programa principal.

Os dejo dos estupendo enlaces, que aunque estén en inglés, serán de gran ayuda para conocer los secretos de la interrupciones con AVR y cómo utilizarlas en casos prácticos.


Leer más

Emulador Sinclair Z80 con AVR ATmega88

Publicado por en Electrónica el 28/04/2010

No os perdais éste interesante proyecto publicado en spritesmods.com del cual me entero por hackaday. Se trata de un pequeño emulador del famoso Sinclair Z80 que utiliza un pequeño AVR ATmega88 y que es capaz de correr programas de Z80 como el clásico juego Zork, creado por Marc Blanc y Joel Berez del MIT allá por el año 1978. Hay que tiempos! uno parece que hace viejo! :)

El firmare del AVR está escrito en assembler (disponible bajo licencia LGPLv3) e incluso dispone de una pequeña BIOS que es capaz de cargar programas desde una memoria SD. El autor indica que es una prueba de concepto ya que la interfaz de usuario se realiza mediante el puerto série, pero ya está pensando en utilizar un AVR más potente para realizar una salida VGA e incluso un teclado externo. Hay que estar atentos a éste interesante proyecto!

Enlace a continuación...

Leer más

Femto OS: El mini sistema operativo para AVR

Publicado por en Electrónica el 27/01/2010

El Femto OS es un mini sistema operativo (RTOS) que permite a los microcontroladores AVR ejecutar pequeños procesos simultáneamente. Aunque muchas veces basta con programar unas cuantas funciones en un microcontrolador determinado, en aplicaciones complejas es recomendable el uso de éste tipo de sistemas operativos para simplificar todas las tareas o el "flow" del programa sin tener que preocuparse por la comunicación entre los distintos procesos, como por ejemplo cuando gestionamos muchas interfaces externas como módulos GPS, sensores, botones etc.

La gran peculiaridad de Femto OS y lo que más me ha gustado, es que es extremadamente ligero en cuanto a los recursos necesarios para su funcionamiento ya que puede funcionar perfectamente desde un simple ATtiny hasta un ATmega644 consumiendo tan solo desde 2kb de flash y 20bytes de memoria RAM con un consumo de proceso inferior a 4% con un cristal de 16Mhz y además, pudiendo ejecutar hasta 16 tareas simultáneamente. Simplemente impresionante.

Es un impresionate sistema basado originalmente en FreeRTOS, aunque mucho más ligero y sencillo, que comenzó allá en el año 2007 por su autor Ruud Vlaming y que ofrece todo el sistema con sus fuentes completos bajo una licencia GPLv3.

Alguno ha probado éste sistema? cuales fueron vuestras impresiones? Esperamos ansiosos vuestros comentarios!

No os perdais unos videos del autor demostrando todo tipo de aplicaciones, asi como los enlaces para su descarga y documentación...

Leer más