[Term STI2D SIN] incrémentation en C
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[Term STI2D SIN] incrémentation en C



  1. #1
    invite4bc8d8af

    [Term STI2D SIN] incrémentation en C


    ------

    Bonjour à tous,

    Je suis actuellement en Terminale STI2D spé SIN. En ce moment je bosse sur mon projet final et je rencontre un petit problème tout simple. Dans mon projet je suis chargé de faire un système de comptage/décomptage. Je travaille sur PSoC Creator 3.1 (langage C). Pour mon système je veux donc créer une variable (x) à laquelle j'ajouterai 1 ou j'enlèverai 1 en fonction de l'appui sur des boutons poussoirs. En gros, quand j'appuie par exemple sur BP_1, je veux faire x=x+1 et quand j'appuie sur BP_2 je fais x=x-1. Je ne dois pas aller en dessous de 0 et je ne dois pas aller au-dessus de 500. et le problème c'est que je ne sais absolument pas quoi mettre dans mon programme. J'espère que quelqu'un pourra m'apporter l'aide nécessaire.
    Merci d'avance

    -----

  2. #2
    invitec2fc95c7

    Re : [Term STI2D SIN] incrémentation en C

    Bonjour

    Est ce que ceci t'aide :

    Code:
    if (BP_1) {
       if (x<500) x++; // Ajoute 1 seulement si on est en dessous de 500
       else printf("Erreur");
    }
    if (BP_2) {
       if (x>0) x--; // Retranche 1 seulement si on est au dessus de 0
       else printf("Erreur");
    }
    Après pour faire le lien entre le matériel et le logiciel, je ne peux pas t'aider.
    Dernière modification par JPL ; 25/03/2015 à 00h42. Motif: ajout de la balise Code (#) pour garder l'indentation (encore faudrait-qu'elle existe)

  3. #3
    invite4bc8d8af

    Re : [Term STI2D SIN] incrémentation en C

    J'essaierai demain mais merci pour ton aide je pense que ça va me servir

  4. #4
    invite32886bf8

    Re : [Term STI2D SIN] incrémentation en C

    if (BP_1) {
    if (x<500) x++; // Ajoute 1 seulement si on est en dessous de 500
    else printf("Erreur");
    }
    if (BP_2) {
    if (x>0) x--; // Retranche 1 seulement si on est au dessus de 0
    else printf("Erreur");
    }
    Il ne faudrait pas rajouter quelque chose au code au cas ou la personne appuie trop longtemps sur le bouton?

    Code:
    //Si on appuie sur le bouton BP_1
    if(BP_1)
    {
          if(x<500)
          {
    	   x++;    //Incrémentation de la valeur x tant que x est plus petit que 500
          }
          else printf("Erreur, x plus grand que 500");
    
         //Condition qui fait que l'incrémentation ne continue pas au
         //cas ou l'utilisateur appuie trop longtemps sur le bouton.
         while(BP_1)
         {
         }
    }
    
    //Si on appuie sur le bouton BP_2
    if(BP_2)
    {
          if(x>0)
          {
    	    x--;    //Décrémentation de la valeur x tant que x est plus grand que 0
          }
          else printf("Erreur, x plus petit que 0");
    
         //Condition qui fait que la décrémentation ne continue pas au
         //cas ou l'utilisateur appuie trop longtemps sur le bouton.
         while(BP_2)
         {
         }
    }
    Ensuite je n'utilise pas PSoC Creator, alors je ne sais pas si il y a besoin de faire cela. Par contre en C sur du microcontrôleur oui.
    Je précise cela vu que j'ai eu ce soucis une fois à ne pas vouloir utiliser d'interruption dans mon code

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Projet electronique Term STI2D help !
    Par invite0da854fa dans le forum Électronique
    Réponses: 13
    Dernier message: 20/03/2013, 19h30
  2. Commande servomoteur Term STI2D help !
    Par invite0da854fa dans le forum Électronique
    Réponses: 2
    Dernier message: 19/02/2013, 13h18
  3. Incrémentation de Led
    Par invitec84b592d dans le forum Électronique
    Réponses: 21
    Dernier message: 01/06/2011, 16h17
  4. incrémentation
    Par invite16f68800 dans le forum Électronique
    Réponses: 20
    Dernier message: 24/11/2010, 23h45
  5. Incrémentation
    Par invite64afb346 dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 18/12/2006, 16h45