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

inversion de bit



  1. #1
    nkoghe12001

    inversion de bit

    salut

    je fais des acquisition de données d'un CAN vers le PIC16f84, le CAN (12 bit) envoie les données à l'envers ,c'est à dire le MSB en premier après bit10,bit9...bit2,bit1,LSB et ainsi de suite, quelqu'un peut-il me donner une routine pour les remettre dans l'ordre.

    -----


  2. Publicité
  3. #2
    nams2590

    Re : inversion de bit

    C très simple surtout si tu utilise l'asembleur, turange ta donnée dans un registre que tu as déclaré précédement, et avant chaque réception, tu fais une rotation à gauche de ton registre. Mais fais gaffe, tu reçois 12 bits, et ton registre ne contient que 8 bits. Il te faut alors définir 2 registre.

    namselectro

  4. #3
    HULK28

    Re : inversion de bit

    Citation Envoyé par nams2590
    C très simple surtout si tu utilise l'asembleur, turange ta donnée dans un registre que tu as déclaré précédement, et avant chaque réception, tu fais une rotation à gauche de ton registre. Mais fais gaffe, tu reçois 12 bits, et ton registre ne contient que 8 bits. Il te faut alors définir 2 registre.

    Comme le dis nams2590 implicitement, "C très simple" surtout en C!
    Que connais-tu comme langage pour pouvoir t'aider?
    Tout est bien qui finit.

  5. #4
    nkoghe12001

    Re : inversion de bit

    je programme en assembleur.........

  6. #5
    nkoghe12001

    Re : inversion de bit

    information suplémentaire:

    pour envoyer les données, le CAN (ADS7812) reçoit 12 top d'horloge et il envoie chaque bit lorsqu'il reçoit un front montant et descendant

  7. A voir en vidéo sur Futura
  8. #6
    umfred

    Re : inversion de bit

    Pour compléter la réponse de nams2590, voici en gros l'algo pour lire une valeur:
    - i=12, DATA_LSB=0, DATA_MSB=0
    boucle:
    - clk=1
    - lecture du bit avec stockage dans la retenu (C, carry) (si bit=1->C=1; si bit=0->C=0)
    - clk=0
    - décalage à gauche avec la retenu du registre DATA_LSB
    - décalage à gauche avec la retenu du registre DATA_MSB
    - i=i-1
    - si i != 0, alors goto boucle:

    le résultat est donc dans DATA_LSB et DATA_MSB

  9. Publicité

Sur le même thème :

Discussions similaires

  1. Compilateur CCS C - initialiser struct bit à bit ?
    Par branqueira dans le forum Électronique
    Réponses: 4
    Dernier message: 26/11/2007, 14h37
  2. valeur en 8 Bit
    Par mejdi_electronique dans le forum Électronique
    Réponses: 3
    Dernier message: 31/05/2007, 00h11
  3. bit de parité
    Par Cloudboy dans le forum Électronique
    Réponses: 8
    Dernier message: 10/05/2006, 13h30
  4. AD 24 bit avec PICBasic
    Par j.mcgrath12 dans le forum Électronique
    Réponses: 8
    Dernier message: 07/05/2006, 21h28
  5. Bit Torrent 3.3
    Par [RV] dans le forum Internet - Réseau - Sécurité générale
    Réponses: 11
    Dernier message: 28/09/2003, 13h22