quelqu'un comprendrait il sa :
// PROGRAMME D'INTERRPUTION
// récupère ADR et consigne à partir de la trame DCC
#pragma code Int_prioritaire=0x0008
void athighVector(void)
{
_asm GOTO Int_niveau_fort _endasm
}
#pragma code // return to default code section
/*************************************************************************************************************************************
Procédure d'évaluation de la durée d'un demi bit
*************************************************************************************************************************************/
#pragma interrupt Int_niveau_fort //save=FSR0, PROD
void Int_niveau_fort(void)
{
unsigned char a;
unsigned char b, c;
if(INTCONbits.RBIF == 1) //test pour savoir s'il y a eu changement d'etat sur PORT B
{
a = PORTB;
b = TMR0L;
c = TMR0H;
TMR0H = 0;
TMR0L = 0;
Temps_detect = c;
Temps_detect = (Temps_detect << 8 ) + b;
Detection_bit();
if (Bit_erreur != 0) // détection d'une erreur
{
init_erreur();
}
else // pas d'erreur
{
Test_bit();
}
INTCONbits.RBIF = 0;
return;
}
}