Bonjour,
Plusieurs discussions traitent déjà de ce problème mais je n'y ai pas trouvé de solutions...
Je développe un programme sur PIC16F690 avec Pickit2 et MikroC.
Un quartz externe 20mhz est connecté, portc.F0 à F3 sont connectés à des leds (sur la carte pickit2).
je souhaite traiter les interruptions sur le portb,
voici mon code:
Je ne comprend pas pourquoi le programme n'entre jamais dans l'interruption...Code:void init_pic(); void init_pic(void) { ANSEL = 0; // ports analogiques désactivés ANSELH = 0; PORTC=0x00; TRISC=0; //portc en sortie (sur des leds) PORTB=0; TRISB=0b11111111; //Rbx en entrée INTCON=0b10001000; //GIE=1 ,RABIE=1 , } void interrupt(void) { //ne fonctionne pas : les leds ne s'allument jamais PORTC.F3 = 1; if(RABIF){ PORTC.F2 =~PORTC.F2; // Toggle sur RC INTCON.RABIF=0; } } void main(void) { init_pic(); for(;;){ //cette partie fonctionne Delay_ms(1000); PORTC.F0=~PORTC.F0; if (PORTB.F4) PORTC.F1=~PORTC.F1; //teste si le portb.f4 est bien activée } }
Merci à toute suggestion!
-----