bonjour a tous ,
voila dans mon code l'appuie sur le bouton poussoir RA2 enclenche l'oscillation (i=1) mais quand j’appuie sur un autre bouton RA1 ( i=0 ) il devrait s'arreter hors ca ne le fait pas pourquoi?
mon probleme est du dans me sous programme quand je met if aCode:long int compteur=0,d=0,chrono=0; int i=0; void interrupt sous_programm() { if(T0IF==1)//80 khz { T0IF=0; TMR0=219;// timer reglé a 80kHz if(i==1)//appuie bouton poussoir RA2 { d++; if(d<=20) SORTIE_ULTRASON=!SORTIE_ULTRASON;//frequence reglé a 40KHZ if(d>20) SORTIE_ULTRASON=0; if(d>40) d=0; compteur++; // compteur=8000 --> 0.1 seconde } chrono++; } } void main() { init_pic(); while(1) { if(RA2==1){ while(RA2==1); while(chrono<200);// contre le rebond chrono=0; i=1;//on active l'oscillation de l'ultrason } if(RA1==1) { i=0;//on desactive l'oscillation de l'ultrason SORTIE_ULTRASON=0; } } }car ca marche si je met pas ca et met directement SORTIE_ULTRASON=!SORTIE_ULTRAS ON; mais je sais pas pourquoiCode:d++; if(d<=20) SORTIE_ULTRASON=!SORTIE_ULTRASON;//frequence reglé a 40KHZ if(d>20) SORTIE_ULTRASON=0; if(d>40) {d=0;}
merci de votre aide
-----