Go Down

Topic: Executer 2 fonction en mm tps ds mn prog principal (Read 835 times) previous topic - next topic

Fayne

Voilà le problème qui se pose à moi. J'ai dans mon programme deux fonction qu'il faut que j'effectue en même temps. Un me permettant de récupérer les valeurs donner par un accéléromètre et l'autre qui doit détecter une valeur critique. Le problème c'est que c'est deux fonctions sont donc en continue et que lorsque je l'ai appel dans mon programme principale et bien il y en a un qui va marcher mais pas l'autre puisque elle font des "loop" boucles sans fin.

Alors comment puis je faire pour que mes deux fonctions marche simultanément?? (Je programme avec arduino sur un ATmega 168 en langage C) Y ya t'il des "Interruption" ou quelque chose comme ça.

Merci de m'aider
Cordialement,
Fayne

fdufnews

A moins d'avoir un processeur bicore tu ne peux pas matériellement exécuter deux fonctions en même temps.

Par contre tu peux enchainer l'exécution de deux fonctions dans la boucle principale de ton programme.

Code: [Select]
void loop(void){
       ma_fonction_qui-lit_mes_senseurs();
       ma_fonction_qui_teste_les_valeurs();
}

Luj06

Cette solution ne lui conviendra pas puisqu'il a des boucles infinies dans ses deux programmes. D'ailleurs ça doit déjà être ce qu'il utilise ("ces deux fonctions sont donc en continu").

Il faut juste les réécrire pour ne pas faire des boucles infinies.


Fayne

Merci Luj06 j'essaye de faire ceci mais c'est pas éviddent je vais essayer d' utiliser les port 2 et 3 que tu m'a dit pour faire des interruptions.

Go Up