Bonjour
j'essaye depuis quelque temps que faire fonctionner un pic 18f4520 en interruption mais j'ai quelques probleme a y parvenir.
Voici le programme:
#include <p18f4520.h>
int var=0;
void high_isr(void);
#pragma config OSC = HS // choisir le oscillateur HS
#pragma code high_vector=0x08
void interrupt_at_high_vector(void)
{
_asm goto high_isr _endasm
}
void high_isr(void)
{
if(INTCONbits.INT0IF==1)
{
if(var==0)
{
var=1;
PORTC=0b01111111;
INTCON2bits.INTEDG0=0;
}else{
var=1;
PORTC=0b11111110;
INTCON2bits.INTEDG0=1;
}
}
}
void main (void)
{
int i;
TRISA=0b11111111; //configure port A en entrée
TRISB=0b11111111; //configure port B en sortie
TRISC=0b00000000;
PORTC=0b00000000;
INTCON2bits.INTEDG0=1;//interruption0 sur front montant
INTCONbits.RBIE=1; //enable PORTB
while(1)
{
/* PORTBbits.RB0=0;
for(i=0;i<10000;i++);
PORTBbits.RB0=1;
for(i=0;i<10000;i++);
*/
}
}
Quelqu'un sait ce qu'il faudrait faire ?
Certainement que j'ai oublié un registre ou autre.
D'avance merci.
-----