décrémentation de temps
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

décrémentation de temps



  1. #1
    invite74119562

    décrémentation de temps


    ------

    Bonjour,

    voila mon problème, quand j'appuie sur un bouton j'incrémente une variable appuis. Cette variable défini un nombre de minutes après lequel un moteur s'arrêtera (cette variable varie de 0 -> 18)
    Code:
     switch (appuis)
                 {
      			  case 1 : 
    	    			lcd_gotoxy(0,1);
    	     			lcd_puts("TIMING :");
    		 			lcd_gotoxy(position,1);
    		 			lcd_puts("15 min");
    		 			break;
    
      		      case 2 : 
    	     			lcd_gotoxy(0,1);
    	     			lcd_puts("TIMING :");
    		 			lcd_gotoxy(position,1);
    		 			lcd_puts("30 min");
    		 			break;
    
    			  case 3 : 
    				    lcd_gotoxy(0,1);
    				    lcd_puts("TIMING :");
    					lcd_gotoxy(position,1);
    					lcd_puts("45 min");
    					break;
    // ce n'est qu'un exemple
    maintenant que j'ai l'affichage, j'aimerais décrémenter (15 min - 14 min - 13 min et l'afficher mais je ne sais pas comment le faire vu que 15 n'est pas une variable.
    Je n'ai que la variable appuis que je peux faire passer en fonction.
    de plus j'aimerais afficher le nombre de minutes restante!

    Avez vous une idée...
    Merci à vous

    -----

  2. #2
    DAUDET78

    Re : décrémentation de temps

    Tu positionnes une variable (entier) à la valeur 15 , 30 , 45 en décimal, soit 0x0F , 0x1E , 0x2D
    Tu l'affiches en faisant une conversion entier hexa -> ASCII pour le LCD
    et tu utilises cette routine pour visualiser sur le LCD la valeur à chaque décrémentation de ton entier
    J'aime pas le Grec

  3. #3
    invite74119562

    Re : décrémentation de temps

    Oki, c'est gentil, mais si je veut mettre 0X0F pour 15, ben le soucis c'est qu'en ascii ça fait pas 15, même si on rajoute 0x30 (qui vaut 0 en ascii)

    J'ai déjà testé...^^ J'avais pensé faire une fonction où une boucle do while décompte le temps en comptant 1 minutes et en affichant (appuis*15) -1 à chaque fois.

    Je vais tester

  4. #4
    DAUDET78

    Re : décrémentation de temps

    Citation Envoyé par moustiqu3 Voir le message
    Oki, c'est gentil, mais si je veut mettre 0X0F pour 15, ben le soucis c'est qu'en ascii ça fait pas 15, même si on rajoute 0x30 (qui vaut 0 en ascii)
    c'est de la programmation de base !
    - conversion binaire en décimal (division par 10, le quotient c'est les dizaines et le reste les unités).
    - on rajoute 0x30 au quotient -> code ASCII des dizaines
    - on rajoute 0x30 au reste -> code ASCII des unitès

    Exemple :
    On a 0x1D (soit 29 en décimal)

    Division par 0x0A (soit 10 en décimal)

    Quotient = 0x02 (soit 2 en décimal)
    Reste = 0x09 (soit 9 en décimal)

    Quotient = 0x02 +0x30 = 0x32 (soit "2" en ASCII)
    Reste = 0x09 +0x30 = 0x39 (soit "9" en ASCII)

    C.Q.F.D.
    J'aime pas le Grec

  5. A voir en vidéo sur Futura
  6. #5
    invite74119562

    Re : décrémentation de temps

    Merci

    Je bais tester ça cette aprem

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/12/2008, 10h10
  2. Réponses: 26
    Dernier message: 04/12/2008, 19h25
  3. Réponses: 4
    Dernier message: 13/02/2008, 18h24
  4. decrementation pcl 16f84
    Par invited45b241e dans le forum Électronique
    Réponses: 26
    Dernier message: 13/10/2007, 19h47
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...