affecter des bits à une variable
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

affecter des bits à une variable



  1. #1
    invite95fc4179

    affecter des bits à une variable


    ------

    Bonjour à tous !!

    je bloque complètement pour la programmation de mon PIC... je vous explique mon probleme:

    J'envoi des valeurs de tension différentes avec un potentiomètre dans un CAN 8bits et recupère les données numérique converties en sorties. J'aimerai programmer mon uC afin qu'il me donne la valeur de la sortie (entre 0 et 255) en fonction de la tension d'entrée.
    Pour cela il faudra que je recupère un à un les bits de sortie et que je les affectent à une variable dont je lis la valeur mais je ne sais pas comment m'y prendre... Je suis déjà parvenu à récuperer les états des bits d'une variable et à les envoyés un par un dans une patte d'entrée mais je bloque pour faire le contraire...
    voila mon programme pour envoyer les bits de la variable "initialisation" dans la patte "Din". Ma fonction puissance renvoi 2 à la puissance "var_bit1":
    Code:
    void main(void) 
    {
    int initialisation = 0b00001000;
    int var_bit1	
    for(var_bit1=0;var_bit1<8;var_bit1++)
    				{
    					bit_envoye = initialisation & puissance (2,var_bit1);
    					if(bit_envoye==0) Din=0;
    					else Din=1;
    
    				}
    }
    (je programme un microcontroleur dsPIC33 en C sur MPLAB)

    merci d'avance pour votre aide j'espere avoir été clair ^^

    -----
    Dernière modification par Jack ; 28/04/2015 à 17h53. Motif: Balises code

  2. #2
    Jack
    Modérateur

    Re : affecter des bits à une variable

    J'envoi des valeurs de tension différentes avec un potentiomètre dans un CAN 8bits
    Quel type de CAN? Interne au dsPIC? Externe (si oui, référence, bus de communication?)?
    Pour cela il faudra que je recupère un à un les bits de sortie
    Pourquoi pas tous les bits d'un coup?

    PS: utilise les balises CODE, c'est tout de même plus présentables et lisible.
    Dernière modification par Jack ; 28/04/2015 à 17h54.

  3. #3
    inviteb9f49292

    Re : affecter des bits à une variable

    Pour accéder à un ou des bits dans une variable, on utilise des masques et des opérateurs logiques, quelques exemples:
    Code:
    // creer un masque avec le 3eme bit à 1
    int mask = 1 << 3;
    // mettre le 3eme bit de x a 1
    x |= mask
    // mettre le 3eme bit de y a 0
    x &= ~mask;
    //tester si le 3eme bit de z est a 1
    if (z & mask) {}

Discussions similaires

  1. VBA - affecter une valeur à une variable dynamiquement
    Par Stan_94 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 07/11/2014, 13h23
  2. [PIC24/ C30 Compiler] - Déclaration d'une variable de 64 bits
    Par invite3c35244f dans le forum Électronique
    Réponses: 4
    Dernier message: 16/09/2012, 18h32
  3. Représentation d'une variable automate de type REAL sur 32 bits
    Par invite117abd86 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 22/04/2010, 00h43
  4. [C]-Création d'une variable de 64 bits
    Par invite3c35244f dans le forum Électronique
    Réponses: 6
    Dernier message: 29/07/2008, 08h39
  5. Gerer les bits d'une variable avec C18
    Par invite958adb57 dans le forum Électronique
    Réponses: 4
    Dernier message: 04/06/2005, 19h01