Bonjour,
j'ai repris un code que j'avais plus touché depuis 6 mois et je n'arrive pas à résoudre un problème :
Mon interruption Capture se déclenche sans qu'il y est un flanc montant et il perturbe complètement mon programme ...
Je ne comprend pas... Est-ce qu'il ce lance quand le timer déborde ?
Voilà la partie de mon code qui pose problème : (Le capture est lié au timer1)
En vous remerciant d'avance pour votre aide, je vous souhaite une bonne soiréeCode://------------------------------------------------------------------------------------ // Capture - s'active à chaque flanc sur la pin CCP2 //------------------------------------------------------------------------------------ #INT_CCP2 void ccp2_isr(void) { if( temp_first_regu == 1) { current_ccp2.ui16_0 = ((int16)ECCPR1H<<8) + ECCPR1L; temp_first_regu = 0; } else { save_ccp2 = current_ccp2; current_ccp2.ui16_0 = ((int16)ECCPR1H<<8) + ECCPR1L; act_regu = 1; } watchdog_moteur_fonc = 0; act_bkl =! act_bkl; busy_moteur = 0; CCP2IF = 0; temp_double_capture_ccp2 = 0; } //------------------------------------------------------------------------------------ // Timer 1 / S'enclenche au débordement des variables du Timer //------------------------------------------------------------------------------------ #INT_TIMER1 TMR1_isr() { current_ccp2.ui16_1++; }
-----