Bonjour à tous,
J'aimerai envoyer le mot binaire 0b00110011, par exemple, sur un port de mon PIC.
Le problème est que mon code est incorrect car à l'oscillo j'obtiens le mot binaire 0b11001100, c'est à dire que j'ai un problème de sens dans le décalage des bits. Mais je ne comprend pas très bien les opérateurs >> et <<.
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void ecrire_octet(char val) { int i = 0; unsigned char temp = 0x00; for (i=0; i<8; i++) // Ecrit un octet, un bit à la fois { //temp = val>>i; // on shifte val i fois vers la droite temp = val>>i; temp &= 0x01; // on copie le bit lsb dans temp ecrire_bit(temp); // on envoie ce bit sur le bus } Delay10TCYx(144);//on attend pour le reste de la séquence }
Bonne journée
Partager