Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Déclaration variable en C



  1. #1
    jorg1n

    Déclaration variable en C


    ------

    Bonjour,

    après avoir fait quelques recherches, j'ai trouvé 2 façons différentes pour déclarer un bit d'un port:

    #bit INHIBIT =PORTD.3
    ou
    #define INHIBIT PORTDbits.RD3

    laquelle est la plus utilisée en C

    Je vous remercie

    Nicolas

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    gienas
    Modérateur

    Re : Déclaration variable en C

    Bonjour Nicolas et tout le groupe

    Je ne suis pas sûr de répondre précisément à ta question.

    Cependant, de ce que je sais du C, ta deuxième "alternative" est en fait un synonyme, que tu définis, pour faciliter l'écriture.

    #define c'est le mot clef pour déclarer ce qui suit

    INHIBIT est la chaîne que tu désires utiliser, pour remplacer celle qui suit.

    Tout ceci est bien sûr case sensitive, c'est à dire distigue majuscules des minuscules.

    C'est le compilateur qui fera les remplacements, au moment du traitement.

  5. #3
    jorg1n

    Re : Déclaration variable en C

    Ce que je souhaite faire, c'est attribué un nom (ici INHIBIT)au bit d'un port(ici le bit RD3 du port D) de mon PIC.
    Mais les deux expressions sont-elles correctes?
    Je pensai utiliser celle-ci:

    #bit INHIBIT =PORTD.3

    Merci pour ta réponse Gienas.

  6. #4
    Seb.26

    Re : Déclaration variable en C

    Comme te l'a expliqué gienas, un #define n'est pas une declaration reel, mais juste un alias, rien n'est ajouté dans le code generé, ton #define sera d'ailleur traité par le pre-processeur, et non pas par le compilateur lui même.

    #bit INHIBIT =PORTD.3 n'est je pense pas une notation C normalisée.

    Normalement on utilise :

    Code:
    struct registre_8b
    {
      unsigned bit0:1;
      unsigned bit1:1;
      unsigned bit2:1;
      unsigned bit3:1;
      unsigned bit4:1;
      unsigned bit5:1;
      unsigned bit6:1;
      unsigned bit7:1;
    };
    Le type bit n'existe pas à ma connaissance en C, dans le cas de variable binaire, on utilise le type "bool" ( qui sera alors implementé par le compilateur selon les specificités du CPU ciblé )

    [Edit] dans ton cas, tu souhaite faire un alias, mais pas declarer une nouvelle variable si j'ai bien compris ...

  7. A voir en vidéo sur Futura
  8. #5
    invite03481543

    Re : Déclaration variable en C

    Citation Envoyé par jorg1n Voir le message
    Ce que je souhaite faire, c'est attribué un nom (ici INHIBIT)au bit d'un port(ici le bit RD3 du port D) de mon PIC.
    Mais les deux expressions sont-elles correctes?
    Je pensai utiliser celle-ci:

    #bit INHIBIT =PORTD.3

    Merci pour ta réponse Gienas.
    Bonsoir,

    pour compléter Gienas, un #define permet de créer un "Alias" c'est à dire un terme plus explicite permettant dans ton cas de mieux "visualiser" son rôle dans le corps d'un programme.

    PORT.D3 sera remplacé par INHIBIT, comme PORT.D3 représente l'entrée/sortie 3 du port D son état ne peut prendre que 1 ou 0.
    L'écriture #bit INHIBIT =PORTD.3 ne permet pas le = en C.

    Edit: grillé par Seb26 plus rapide... je n'avais pas lu sa réponse, désolé pour le doublon

  9. #6
    invite03481543

    Re : Déclaration variable en C

    Attention quand même, tout les compilateurs C ne permettent pas l'usage général d'une variable de type bit.

  10. Publicité
  11. #7
    jorg1n

    Re : Déclaration variable en C

    Je commence a y voir plus clair...

    Je vous remercie pour vos réponses

  12. #8
    jorg1n

    Re : Déclaration variable en C

    En fait...si j'ai bien compris, il faut d'abord déclarer les ports d'entrées/sorties et ensuite par le biais de cette commande #bit INHIBIT =PORTD.3 , j'affecte un nom au bit que je souhaite( histoire d'y voir un peu plus clair dans mon programme...)

    Merci encore

    Nicolas

Discussions similaires

  1. Statistiques : lien entre variable binaire et variable continue
    Par pounette1 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 10/02/2010, 21h34
  2. Déclaration Variable C
    Par jorg1n dans le forum Électronique
    Réponses: 6
    Dernier message: 16/10/2007, 19h01
  3. [Législation] Déclaration de site archéologique
    Par frederic38 dans le forum Archéologie
    Réponses: 3
    Dernier message: 13/02/2007, 14h19
  4. La déclaration célèbre de Feynman et vous
    Par merou dans le forum Physique
    Réponses: 16
    Dernier message: 03/08/2005, 00h15
  5. pb de declaration
    Par edje dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 13/08/2004, 23h20
Découvrez nos comparatifs produits sur l'informatique et les technologies.