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 <<.

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
}
Merci.

Bonne journée