jueves, 6 de febrero de 2014

Interrupciones de microcontroladores



Una interrupción es un recurso del cual disponen la mayoría de los procesadores y microcontroladores en el mercado hoy en día. Permiten cambiar la continuidad de ejecución de un programa, para atender una necesidad, ya sea externa o interna.

Como ejemplo, un botón de RESET puede ser visto como una fuente de interrupción que de manera asíncrona detiene todos los procesos y reinicia el sistema por completo. Incluso, dependiendo del sistema, lo puede llevar a un estado inicial.

Las interrupciones se manejan de distintas formas según el procesador, fabricante, desarrollador, etc. Hablando a nivel de microcontroladores, la mayoría tienen algo en común, y es como atienden dicha interrupción. Al recibirse una señal de interrupción, se abre la brecha en la continuidad del programa en ejecución, y se recurre a un registro llamado “Handler”, el cual, dependiendo del microcontrolador, contendrá el código de ejecución para atender la interrupción, o contendrá una dirección donde se encontrará dicho código.

Entre las utilidades de las interrupciones podemos encontrar cosas tan simples como cambiar el valor de un puerto de 0 a 1, hasta cosas tan complejas como lo es un despachador de tareas, he allí, el poder de este recurso.


Las interrupciones pueden tener fuentes internas y externas. Una fuente de interrupción interna puede ser por ejemplo, un error por overflow o la finalización de un contador; una fuente externa, puede ser un botón de reset, también una señal de control o un detector de cambios de nivel.

No hay comentarios:

Publicar un comentario