Bonjour,
Je ne comprend pas, ça fait un bon moment que je m'acharne à prendre en compte l'action d'un simple bouton poussoir qui ramène un +VCC sur une entrée du portB de mon micro et rien ne ce passe, j'ai pourtant bien initialisé mon port et fait une simple routine pour lire ce port mais ça ne fonctionne pas.
Puis j'ai cette fonction que j'ai mis dans mon while(1) de mon main qui viens scanner mes entréesvoid init_port(void)
{
// Clear PORT bits so there are no unexpected flashes when setting
// them to output in the next step
mPORTDClearBits(BIT_2 |BIT_1 | BIT_0);
mPORTDClearBits(BIT_6 |BIT_7 | BIT_13);
mPORTBClearBits(BIT_8|BIT_9 |BIT_10 | BIT_11|BIT_13|BIT_14 |BIT_15);
mPORTAClearBits(BIT_1);
// PORT as input analogique
PORTSetPinsAnalogIn(IOPORT_B, BIT_3 | BIT_2| BIT_1| BIT_0);
// PORT as output digital
mPORTDSetPinsDigitalOut(BIT_2 |BIT_1 | BIT_0);
mPORTBSetPinsDigitalOut(BIT_8| BIT_9 |BIT_10 | BIT_11);
// PORT as input digital
mPORTDSetPinsDigitalIn(BIT_6|B IT_7 |BIT_13);
mPORTBSetPinsDigitalIn(BIT_13| BIT_14);
mPORTASetPinsDigitalIn(BIT_1);
}
et en me documentant, en regardant les forum je n'arrive pas a faire fonctionner mes entrées, j'ai pourtant réussi a utiliser les entrées pull-up mais les autres pour l'instant je n'y arrive pasvoid bp(void)
{
BP.SW1=PORTBbits.RB13;
BP.SW2=PORTBbits.RB14;
BP.SW3=PORTAbits.RA1;
//if (mPORTBReadBits(BIT_13)==1) sw=3;
//if (mPORTBReadBits(BIT_14)==1) sw=3;
//if (mPORTAReadBits(BIT_1)==1) sw=3;
ClearWDT();
}
Si quelqu'un aurai plus d'avance sur moi sur ce pic, qu'il m'en fasse profité
Merci
-----