Visual c++ et Arduino

Résolu
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

4 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
  2. cubeur78 Messages postés 102 Statut Membre 65
     
    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
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      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
  3. cubeur78 Messages postés 102 Statut Membre 65
     
    Effectivement ^^
    Erreur de frappe, je testerai demain mais je pense que ça devrai marcher.
    0
  4. Caroline103
     
    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
    1. cubeur78 Messages postés 102 Statut Membre 65
       
      Je viens de regarder c'super effectivement.
      Cela va bien me simplifier la vie, merci !

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