Multitarea sin bloqueo

Muchas veces queremos realizar diferentes tareas dentro de nuestro programa. El problema de utilizar bloques de “espera” es que bloquean el funcionamiento de todo el programa hasta superar el tiempo de espera indicado.

Aquí muestro como realizar fácilmente un sistema de tareas que permite la ejecución de cada una de ellas cada cierto tiempo. En el ejemplo se realizan 2 tareas cada 3s y 5s respectivamente y a parte una tarea principal que se ejecutaría en cada ciclo del bucle principal. (podrían ser el número de tareas que queramos).

Lo más importante es que ninguna tarea debe bloquear la ejecución, es decir, no debemos realizar tareas que usen los bloques de esperar ni con  bucles que se queden esperando una condición por ejemplo.

captura-de-pantalla-de-2016-12-01-11-45-21

 

Por ejemplo, siguiendo el ejemplo anterior vamos a ver como realizar que la tarea 1 (cada 3s) enciende y apaga el led (3 segundos encendido/ 3 segundos apagado) y la tarea 2 muestra el estado de un pulsador.

captura-de-pantalla-de-2016-12-01-11-59-34

http://arduinoblocks.com/web/project/556

Todo esto y muchos más ejemplo e información en el libro oficial ArduinoBlocks:

https://www.amazon.es/ArduinoBlocks-Programación-visual-bloques-Arduino/dp/153551328

Compartir

2 pensamientos en “Multitarea sin bloqueo

  1. Pingback: Nuevos bloques para módulos GPS – ArduinoBlocks.com

  2. Pingback: Multitarea sin bloqueo 2.0 – ArduinoBlocks.com

Deja un comentario