Partage
  • Partager sur Facebook
  • Partager sur Twitter

Gestions de bits en C ( port recomposé )

Sujet résolu
    3 avril 2022 à 15:46:38

    Bonjour à toutes et à tous,

    Je suis face à un petit soucis j'aimerai créer un PORT tel que PORTJHD et lui affecter différents bits d'autres PORT, comme le PORTJ, PORTH et enfin PORTD. Il me faut donc un PORT recomposé PORTJHD : J1 J0 H1 H0 D3 D2 D1 D0. ( Lettre pour le nom du PORT et le chiffre pour le poids du bits )

    J'ai donc créée un code tel que :

    voidport_recompose(void)
    {
        DDRJ = DDRJ & 0b00000000; // Les BITS 0 et 1 sont demandés en ENTREE PORTJ
        DDRH = DDRH & 0b00000000; // Les BITS 0 et 1 sont demandés en ENTREE PORTH
        DDRD = DDRD & 0b00000000; // Les BITS 0,1,2 et 3 sont demandés en ENTREE PORTD
        DDRJHD = DDRJHD & ((DDRJ << 6) & (DDRH << 4) & (DDRD));

    // J'espère obtenir DDRJHD = 0b00000000;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      3 avril 2022 à 16:47:49

      Utilises le bouton code </> du forum pour poster ton code ! (tu peux modifier ton post, lien modifier en haut à droite du post).
      • Partager sur Facebook
      • Partager sur Twitter
      ...
        3 avril 2022 à 17:04:33

        Hello,

        Simplement

        jhd=(j<<6) | ((h & 0x03)<<4) | (d & 0x0f);
        

        -
        Edité par edgarjacobs 3 avril 2022 à 17:08:54

        • Partager sur Facebook
        • Partager sur Twitter

        On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        Gestions de bits en C ( port recomposé )

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown