Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Cómo hacer multitareas usando un microcontrolador

La programación de los microcontroladores es relativamente sencilla, pues el conjunto de instrucciones disponible funciona más o menos de manera por demás lineal. No es...

c-pic

La programación de los microcontroladores es relativamente sencilla, pues el conjunto de instrucciones disponible funciona más o menos de manera por demás lineal. No es fácil hacer multitareas y la única forma quizás de hacer semejantes procesos “al mismo tiempo” es usando interrupciones. Para ponerlo en lenguaje sencillo: el programa revisa cada cierto tiempo (que puede ser muy corto) que ocurrió una interrupción, a la cual hay que hacerle caso. Entonces se ejecuta esa parte del código que resuelve la interrupción y regresa el sistema a hacer lo que estaba haciendo. Simula, es la verdad, multiprocesos, pero es lo que práticamente hacen todos.

S1axter, un ingeniero en electrónica, con muchos hobbies y aficiones, hizo un gran trabajo explicando esta idea de las interrupciones y del cómo define los campos de bits para poder hacer, en alguna medida, multiprocesos, particularmente con eventos que se disparan en ciertos tiempos. Básicamente usa una estructura de C para ir llevando cuenta de una bandera que le obliga simplemente un bit de almacenamiento (en los microcontroladores, la necesidad de ahorrar almacenamiento es a veces crítica). Vale la pena echarle un vistazo a cómo declara la estructura como volátil, de manera que el sistema no tenga un comportamiento inesperado al probarlo.

Slaxter tiene un interesante blog que vale la pena seguir.

Referencias:

Blog de S1axter

Comentarios