Bonjour à toutes et à tous,
Je me suis lancé il y a 2 semaines dans la programmation de µcontrôleur. comme tout le monde, j'ai commencé par faire clignoter une led avec la fonction delay puis à l'allumer en fonction de l'état d'une entrée qui à bien fonctionner.
Là où je coince, c'est en combinant les deux fonctions.
Une fois que l'entrée est activée, la LED se met bien à clignoter mais dès que l'entrée est relachée, elle continu de clignoter (une résistance pull-up est installé / rien ne change si elle est présente ou non). J'ai l'impression que le programme est bloqué dans la fonction delay quand il est dans le µcontrôleur.Code://-----fonction annexe----- void delay_ms(uns16 millisec) { OPTION=2; do { TMR0=0; while(TMR0<125);} while(--millisec>0);} //----- fonction principale----- void main (void) { //----- configuration ports & registre ----- PORTB=0; TRISB=0b11110000; // 1 pour entrée et 0 pour sortie do { if(RB5==1){ RB0=!RB0; delay_ms(500);} if(RB5==0){ RB0=0;} } while(1);}
Quand je fais la simulation sur MPLAB, celà fonctionne. Est-ce que quelqu'un peut m'aiguiller car là je sèche? Merci.
µc => PIC16F628A
MPLAB v8.90 avec CC5X
bonne journée.
-----