Salut à tous, depuis peu je me suis mis au C pour programmer les PIC de la série 18 (grâce au compilateur C18 fourni sur le site de microchip).
Un problème se pose: je n'arrive pas à gérer les bits d'une variable.
En assembleur, c'est facile:
bsf variable_X,2 ; forcer bit 2 de la variable_X
btfss variable_X,2 ; tester bit 2 de la variable_X
xxxxx
xxxxx etc...
Mais sur C18, j'ai trouvé comment manipuler les bits des registres mais pas des variables:
pour placer RA1 à 1 il faut faire:
PORTAbits.RA1 = 1; // Placer RA1 à l'état haut
if (PORTAbits.RA1 == 1) goto suivant; // Si RA1 = 1 on saute
xxxxx
mais comment faire pour les bits d'une variable ??? J'ai éssayé:
variable_X.1 = 1; // forcer bit 1 à l'état haut de la variable_X
variable_X,1 = 1;
variable_X.bit.1 = 1;
variable_X.bit,1 = 1;
variable_X.bits.1 = 1;
variable_X.bits,1 = 1;
bit.variable_X,1 = 1;
bit.variable_X.1 = 1;
bits.variable_X,1 = 1;
bits.variable_X.1 = 1;
Rien n'y fait j'ai systématiquement une erreur lors de la compilation.
Si quelqu'un pouvait me dépanner ça serait sympa.
@++
Louis
-----