Bonjour ;
je suis entrain de récupérer par une fonction le niveau de mon PORTB0 de sortie de pic 18f
alors j'utilise la fonction suivante :
j'utilise le niveau inverse de port B car il est à l'état haut par défaut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if((PORTBbits.RB0&1)==0) return 1; else return 0; }
pour recuperer les niveaux des 8 bits sur un char j'utilise le décalage à gauche comme suit :
mais le problème que sa marche pas cette méthode car je pense que au moment de la récupération des zéro (niveau bas) il y'a un probleme !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 char RDchar(void) { unsigned int i; char c=0; for(i=0; i<8; i++) { c |= ((RDbit())<<1); } return c; }
je récupère toujours la même valeur c=0x40;
merci
Partager