Bonjour,
J'utilise un PIC18F14K50 sur lequel j'ai un bouton poussoir (avec pull up) connecté à RA3. Une DEL sur RC0.
Le but est de changer l'état de la DEL lors de l'appuie sur le BP et ça via interruption.
Mon problème est que je n'arrive pas à "extérioriser" cette fonction. En gros je configure bien mon interruption, elle est correctement détectée mais tout ça dans le main() tout en scrutant le flag.
J'aimerais que dès que le flag apparaît alors une fonction est appelée.
Ce code fonctionne mais il n'a aucun intérêt, autant directement copier la valeur de l'entrée sur la sortie ...
Voici mon code (sous MPLAB avec C18):
Code:#pragma config MCLRE = OFF //MCLR disable void main (void) { char Sens, ValeurRA3; TRISC = 0xF0; //RC0-RC3 en sorties, RC4-RC7 en entrées IOCAbits.IOCA3 = 1; //interrupt on change sur RA3 INTCONbits.RABIF = 0; //flag interrupt on change sur portA-B while (1) { if (INTCONbits.RABIF == 1) // si flag de l'interruption à 1 { if (Sens == 0) { PORTCbits.RC0 = 1; Sens = 1; }//if else { PORTCbits.RC0 = 0; Sens = 0; }//else ValeurRA3 = PORTAbits.RA3; //lecture de l'entrée puis màz du flag INTCONbits.RABIF = 0; } //if } //while } //main
-----