Page 1 sur 1

intérruption par overflow du timer2 récalcitrante, help

Publié : 09 avr. 2008 16:43
par halifax
bonjour,
j'ai un problème sur mon code.
c'est surement une erreur toute bette mais je la vois pas
enfaite quand je le simule il rentre dans l'interruption int0 sans problème
après il devrait autorisé une interruption par comparaison du timer 2 mais le problème c'est que le timer 2 dépasse ocr2 sans exécuté l'interruption du timer 2.

je pense que vous avez l'œil plus averti que moi sur le sujet, pouvez vous m'aidez????
merci


j'ai mis que un bout du programme bien sur ya le reste du wizzard
petite précision c'est sur atmega16l.

Code : Tout sélectionner

 int A=0;    
 int C=1;
 
interrupt [EXT_INT0] void ext_int0_isr(void)
{
A=1;
TIMSK=0x80;

}


interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
switch (A)    {   


   case 1:
     while(6)
     OCR2=0x94; //horizontal  
     A=2;
      break; 
    }
    }

void main(void)
{
PORTD=0x80;
DDRD=0x80;
TCCR2=0x7B;
TCNT2=0x00;
OCR2=0x08;
GICR|=0x40;
MCUCR=0x00;
MCUCSR=0x00;
GIFR=0x40;
TIMSK=0x00;