Accueil

LA PROGRAMMATION PARALLELE de TACHES DIFFERENTES c'est FACILE avec le PROPELLER !

 

Un robot est ammené a exécuter en même temps plusiers taches : controler des moteurs, repérer des obstacles, recevoir des messages par vradio ou internet...

Les anciens microprocesseurs nécessitaient d'arréter en urgence la tache en cours pour ren exécuter une autre. Il fallait gérer des "interruptions" : pas simple et délicat lorsque les taches se multiplient.

Le Propeller a été conçu pour gérer facilement jusqu'a 8 taches en paralléle , sans utiliser d'interruptions!

Comment ça marche ?

Et bien c'est fondé sur deux choses:

Pour une utilisation courante , une fois qu'on a compris ces deux principes on peut faire beaucoup de choses : le robot a des réactions rapides et fluides et tout se passe bien.

Si on va plus loin il y a quelques petites choses a savoir pour éviter des difficultés.Mais celà apparait essentiellement dans le cas ou on utilise des programmes trés rapides écrits en assembleur et a ce stade c'est du travail semi professionnel qu'on peut d'ailleurs éviter en utilisant des "objets" de la base d'échanges gratuits. On trouve des exemples de fonctions de ce genre lorsqu'on veut programmer une synthése sonore sur 4 voies paralléles (voyez l'objet "stereo spatializer" de la banque d'échange ) ou si on veut connaitre a chaque instant, avec une précision de quelques degrés, le mombre de tours d'un arbre moteur fonctionnant a 5000 tours minute (voir l'objet "quadrature encoder" pour odométrie ).

Néanmois les choses suivantes sont utiles a savoir (mais pas indispensables si vous n'écrivez pas vous même de fonctions travaillant a trés grande vitesse) :

 

Un exemple classique de programme paralléle en SPIN : on utilise deux détecteurs d'obstacles infra rouges pour corriger la trajectoire d'un robot