Bonjour à tous,
Voilà mon pb : J'aimerais simplement faire un programme en c me permettant de faire clignoter des leds sur les pins RA0, RA1, RA7,RA6, RA2 et RA3 pendant une certaine durée sur simple appui avec un bouton poussoir sur la pin RA5 et que lors du relachement du bouton, que les leds s'éteignent etc ... Mais j'ai beau essayer, les leds clignotent bien lors de l'appui mais continuent de clignoter sans fin lorsque je relache le bouton poussoir.
J'utilise MPLAB 8.85 et comme compilateur CC5X avec un pickit2.
Aurais je oublié quelque chose ? Une boucle ou autre ? Que manque t il ? Merci de votre aide.
Voici mon programme :
#include "delay.c"
char sortiea @ PORTA;
bit LED0 @ RA0;//affectation des leds respectivement aux pins
bit LED1 @ RA1;
bit LED7 @ RA7;
bit LED6 @ RA6;
bit LED2 @ RA2;
bit LED3 @ RA3;
bit Inter @ RA5;
int i;
void main(void)
{
TRISA = 0b00100000;//Définition de RA5 comme entrée (interrupteur)
CMCON = 0x07;//désactivation des comparateurs
sortiea = 0;
if(Inter==1)
{
for(i=0;i<=15;i++)
{
LED0=1;
delay_ms(10);
LED0=0;
delay_ms(10);
LED1=1;
delay_ms(10);
LED1=0;
delay_ms(10);
LED7=1;
delay_ms(10);
LED7=0;
delay_ms(10);
LED6=1;
delay_ms(10);
LED6=0;
delay_ms(10);
LED2=1;
delay_ms(10);
LED2=0;
delay_ms(10);
LED3=1;
delay_ms(10);
LED3=0;
delay_ms(10);
}
sortiea=0;
}
}
}
-----