Visual c++ et Arduino

Résolu/Fermé
cubeur78 Messages postés 98 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 23 août 2013 - 21 août 2013 à 11:07
cubeur78 Messages postés 98 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 23 août 2013 - 23 août 2013 à 12:15
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
A voir également:

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
21 août 2013 à 11:17
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'.
0
cubeur78 Messages postés 98 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 23 août 2013 65
Modifié par cubeur78 le 21/08/2013 à 11:31
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.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
21 août 2013 à 21:46
ba tu modifie received_data et tu lis donnee_recue... alors bon, ça me choque toujours pas, même commentaire que précédemment.
0
cubeur78 Messages postés 98 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 23 août 2013 65
22 août 2013 à 20:37
Effectivement ^^
Erreur de frappe, je testerai demain mais je pense que ça devrai marcher.
0
Salut cubeur,
Télécharge toi "ArduBlock", intègre le à "Arduino". C'est une interface graphique au petits oignons, et qui en plus te sort le code C correspondant.
C'est vraiment nickel.
0
cubeur78 Messages postés 98 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 23 août 2013 65
Modifié par cubeur78 le 23/08/2013 à 12:15
Je viens de regarder c'super effectivement.
Cela va bien me simplifier la vie, merci !

Le problème est résolu ducoup :)
0