Visual c++ et Arduino
Résolu
cubeur78
Messages postés
102
Statut
Membre
-
cubeur78 Messages postés 102 Statut Membre -
cubeur78 Messages postés 102 Statut Membre -
Bonjour,
Etant débutant je me retrouve face à un problème que je n'arrive pas à résoudre.
J'ai réalisé un programme sous microsoft visual c++ 2010 Express avec des boutons (allumer la LED 1, éteindre la LED1, ...).
J'ai aussi rajouté un bouton pour faire clignoter les deux leds en même temps.
Ce bouton envoi 'x' à l'Arduino qui fait clignoter les led dans une boucle infini.
Pour stopper cette boucle, j'ai mis un bouton qui envoie 'z'. Voilà le code :
if (donnee_recue == 'x') {
while(infini == 0) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(100);
if (donnee_recue == 'z') {
break;
}
}
}
Je ne comprends pas pourquoi le break ne fonctionne pas.
Merci pour vos réponses
Etant débutant je me retrouve face à un problème que je n'arrive pas à résoudre.
J'ai réalisé un programme sous microsoft visual c++ 2010 Express avec des boutons (allumer la LED 1, éteindre la LED1, ...).
J'ai aussi rajouté un bouton pour faire clignoter les deux leds en même temps.
Ce bouton envoi 'x' à l'Arduino qui fait clignoter les led dans une boucle infini.
Pour stopper cette boucle, j'ai mis un bouton qui envoie 'z'. Voilà le code :
if (donnee_recue == 'x') {
while(infini == 0) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(100);
if (donnee_recue == 'z') {
break;
}
}
}
Je ne comprends pas pourquoi le break ne fonctionne pas.
Merci pour vos réponses
A voir également:
- Visual c++ et Arduino
- Visual c++ 2019 - Guide
- Visual petanque - Télécharger - Sport
- Visual paradigm - Télécharger - Gestion de données
- Visual watermark - Télécharger - Photo & Graphisme
- Visual basic - Télécharger - Langages
4 réponses
Salut.
Es tu sur que "donnee_recue" est modifié lors de la boucle ? Il n'y a rien qui modifie cette variable dans le morceau de code que tu nous à mis. à moins que ce soit une variable globale modifiée par un thread, il n'y a pas de raison que ça valeur change, elle vaut donc toujours 'x'.
Es tu sur que "donnee_recue" est modifié lors de la boucle ? Il n'y a rien qui modifie cette variable dans le morceau de code que tu nous à mis. à moins que ce soit une variable globale modifiée par un thread, il n'y a pas de raison que ça valeur change, elle vaut donc toujours 'x'.
if (donnee_recue == 'x') {
while(infini == 0) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(100);
int received_data;
if (Serial.available()>0) {
received_data = Serial.read();
if (donnee_recue == 'z') {
break;
}
}
}
}
Je viens de tester ceci et ça ne marche pas non plus.
while(infini == 0) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(100);
int received_data;
if (Serial.available()>0) {
received_data = Serial.read();
if (donnee_recue == 'z') {
break;
}
}
}
}
Je viens de tester ceci et ça ne marche pas non plus.