Bonjours,
Alors voici une partie de mon programme :
while ( Minutes != 0) {
valeurA3=analogRead(A3);
if(valeurA3 != 1023){
Minutes = Minutes/2;
Secondes = Secondes/2;
}
Mon problème est assez simple, disons pour faire simple il tourne en boucle à l'infini.
la variable "valeurA3" peut changer à chaque début de boucle et ne peut être égale que a 1023 ou une valeur plus petite de 1023.
En début de programme "valeurA3" est obligatoirement égale à 1023 et disons qu'un moment elle passe a une valeur inférieur a 1023 donc on rentre dans la condition "If" il fait ce qu'on lui demande et sort de la condition.
c'est la que mon problème se pose je voudrais que lorsqu'il recommence la boucle ( ici la valeur de "valeurA3" est obligatoirement inférieur a 1023) il ne retourne pas dans le "If".
Comment puis-je faire ?
Merci d'avance
Cordialement
bonjour,
tu lui demande de rentrer dans le if, SI différent de 1023
donc il faut mettre un flag
Que veux-tu dire par flag ? j'avoue commencer dans se domaine.
un truc comme ça j'imagine :
bool TESTOK = false;
while ( Minutes != 0) {
valeurA3=analogRead(A3);
if(valeurA3 != 1023 && TESTOK = false)
{
Minutes = Minutes/2;
Secondes = Secondes/2;
TESTOK = True;
}
Tu repasses TESTOK à false quand tu en a besoin ailleurs dans ton code .
BrUnO14200:
un truc comme ça j'imagine :
bool TESTOK = false;
while ( Minutes != 0) {
valeurA3=analogRead(A3);
if(valeurA3 != 1023 && TESTOK = false)
{
Minutes = Minutes/2;
Secondes = Secondes/2;
TESTOK = True;
}
Tu repasses TESTOK à false quand tu en a besoin ailleurs dans ton code .
Petite correction
if(valeurA3 != 1023 && TESTOK = false)
doit être remplacé par
if(valeurA3 != 1023 && TESTOK == false)
Maintenant si rien ne vient remettre ce flag à FALSE jamais plus le progamme n'entrera dans le if