Interdire des valeurs en C
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Interdire des valeurs en C



  1. #1
    invite1f0d3928

    Interdire des valeurs en C


    ------

    Bonjour à tous, je suis entrain produire un programme pour un PIC 16F876. Ce programme doit envoyer la configuration d'un TDL2A.
    Dans la configuration de ce composant, j'aimerai modifier son adresse et son canal manuellement à l'aide d'un switch (interrupteur DIL 6 poles)

    En gros , les 3 premiers poles sont utilisé pour l'adresse (le tdl2a peut configurer 7 adresses differentes)
    Pour ce qui est de l'adresse pas de soucis je vois comment procéder. En revanche pour ce qui est du choix des canaux (5 canaux configurables), je vois pas comment faire vu qu'il y a 3 valeurs interdites : 101 110 111 (en binaire)

    Voici pour le moment mon programme :

    Code:
    #include <16F876.h>
    #device adc=8
    
    #FUSES NOWDT                 	//No Watch Dog Timer
    #FUSES HS                    	//High speed Osc (> 4mhz)
    #FUSES NOPUT                 	//No Power Up Timer
    #FUSES NOPROTECT             	//Code not protected from reading
    #FUSES BROWNOUT              	//Reset when brownout detected
    #FUSES NOLVP                   	//No Low Voltage Programming on B3(PIC16) or B5(PIC18)
    #FUSES NOCPD                 	//No EE protection
    #FUSES NOWRT                 	//Program memory not write protected
    #FUSES NODEBUG               	//No Debug mode for ICD
    
    #use delay(clock=20000000)
    #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
    
    
    
    
    const char ADDR[4]= {'A','D','D','R'};
    const char CHAN[4]= {'C','H','A','N'};
    char canal,adresse,i;
    void config_tdl2a()
    {
       output_low(PIN_B3); //mode SETUP
       output_low(PIN_B2);// TDL2A en fonctionnement
    
       canal=(input_a() & 0x07);   // lecture du port a + masque 
       adresse=(input_a()/8);       // lecture du port a + division par 8 
    
    
       for (i=0; i<4; i++)
       putc (ADDR[i]);
       putc (adresse);
       putc (0x0D);
       delay_ms(10);
    
       for (i=0; i<4; i++)
       putc (CHAN[i]);
       putc (canal);
       putc (0x0D);
       delay_ms(10);
    
    }
    
    void main()
    {
       output_high(PIN_B3);//désactivation du setup
       output_high(PIN_C6);
       delay_ms(100);
       setup_adc_ports(NO_ANALOGS);
       setup_adc(ADC_OFF);
       setup_spi(FALSE);
       setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
       setup_timer_1(T1_DISABLED);
       setup_timer_2(T2_DISABLED,0,1);
       config_tdl2a();
       output_high(PIN_B3);//désactivation du setup
    
      while(1)
    {
    putc(0x55);
    }
    
    }
    **** Merci d'utiliser les balises [CODE] pour poster un programme.

    Ma question est : Comment interdire des valeurs en C? (je sais que ce n'est pas difficile mais j'ai pas l'aide avec moi .

    En gros ce que j'aimerai faire c'est :

    canal=(input_a() & 0x07);
    canal = interdiction des valeurs 101,110,111

    Merci d'avance

    -----

  2. #2
    invite6ceed97c

    Re : Interdire des valeurs en C

    Ca dépent de ce que tu veux faire... que doit it arriver lorsque tu as ces valeurs?

  3. #3
    invite1f0d3928

    Re : Interdire des valeurs en C

    Rien justement, je ne veux pas la donnée soit envoyé sur la liaison serie.
    en gros , je veux que canal=000,001,010,011 ou 100

  4. #4
    SuperTux

    Re : Interdire des valeurs en C

    Faire un bête "if" ne convient pas ?

  5. A voir en vidéo sur Futura

Discussions similaires

  1. comment determiner les valeurs des jeu au niveau des paliers d'une pompe
    Par invite75b962d0 dans le forum Technologies
    Réponses: 10
    Dernier message: 31/03/2008, 15h54
  2. [maple]collecter des valeurs...
    Par inviteaeeb6d8b dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 04/08/2007, 20h54
  3. Interdire des zones sur le bureau
    Par invite15134fab dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 03/12/2006, 14h32
  4. Lire des valeurs !?!
    Par invitec1210dd1 dans le forum Biologie
    Réponses: 3
    Dernier message: 14/03/2006, 17h23
  5. Valeurs des sondages
    Par inviteab2b41c6 dans le forum Discussions scientifiques
    Réponses: 17
    Dernier message: 14/06/2005, 15h28
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...