Bonsoir, après avoir lu plein de documentation sur les interruptions sur un 16F84 je me suis lancé (et j'ai simulé sur isis proteus).
Voici mon programme:
Donc voila, quand je simule, tout marche bien, sauf que quand je lance l'interruption, elle marche niquel, mais si je relance une deuxième fois l'interruption, rien ne se passe.Code:void interrupt() { INTCON.INTF = 0 ; PORTB = 0xFF; Delay_ms(1000); PORTB = 0x00; Delay_ms(1000); } void main(){ int i; TRISB=0x01; PORTB=0x00; while(1) { INTCON.GIE= 1; INTCON.INTE = 1; OPTION_REG = 0b01000111 ; for(i=2;i<=255;i=i*2) { Delay_ms(100); PORTB=i; } while(i>=2) { PORTB=i; Delay_ms(100); i=i/2; } } }
Quand j'arrête la simulation et je la redémarre, elle me fais la même chose.
Quelqu'un peux m'expliquer d'ou viens problème s'il vous plait ?
Le programme en HEX:
Cliquez pour afficher
-----