comme le dit matafan, c'est plutot des "fonctions" ce que tu apelle "sous-programme", et sinon, je le ferais pas avec 3 mais seulement 2 fonctions.
1/ Sens (en fonction du bouton appuyé)
2/ Mouvement (avec un argument "sens" )
Ta fonction "Sens" lit les boutons pour renseigner la valeur de "sens" (haut -> HAUT, bas -> BAS, stop -> FIXE) ça se fait bien avec un pti enum.
Ta fonction "Mouvement" est appelée à chaque cycle, si c'est FIXE, direct tu fais un exit (sans rien faire), sinon tu déplace "d'un cran" dans le sens "sens" (tu peux aussi rajouter un test pour voir si tu n'est pas en butée du sens en question, et dans ce cas, tu positionne sens à FIXE)
Voilà, je sais pas si je suis clair, je l'espère.
Bonne continuation.
EDIT: le découpage comme tu le présente, avec 4 fonctions est des appels entre les fonctions me parait vachement trop complexe pour pas dire "casse-gueule". Quand ta fonction "montée" sera en cours, si elle s'éxécute en continue, tu ne sera plus capable de lire le bouton stop (à moins de faire du multi-thread, et encore, selon la priorité des taches...). Le découpage que je te propose me parait nettement plus approprié, à toi de voir.
Message édité par Xav_ le 11-02-2008 à 16:17:24
---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World