Forum: Mikrocontroller und Digitale Elektronik TMR0 und Interrupt Routine


von Andreas (Gast)


Lesenswert?

Hallo zusammen,

habe das ganze wo-ende verbracht um mich bei der AVR Programmierung 
einzuarbeiten, habe leider ein problem mit der Routine des TMR0 
Interrupts, TOV0 wird nicht gesetzt obwohl das TOIE und GIE bits 
eingeschaltet sind?
Ich Wäre dankbar für die Hinweise zu den möglichen Fehlerquellen.

main.c
1
unigned char test;
2
3
int main(void)
4
{
5
  init();
6
  while(TRUE)
7
  {  
8
    wdr();
9
  }
10
          return 0;
11
}
Init.c:
1
void init(void)
2
{
3
//Timer0
4
  TCCR0 |= 0x01;
5
  TIMSK |=(1<<TOIE0);
6
  TCNT0 = 55;
7
8
//WatchDog
9
  WDTCR = INIT_WDTCR;
10
  
11
//Interrupts
12
  GICR &= (!(1<<IVSEL));
13
  GICR |= (1<<IVCE);
14
  
15
16
  sei();      // enable GIR
17
}

interrupt Routine:
1
ISR(INT_TMR0)
2
{
3
  
4
  TCNT0 = 55;
5
  test++;
6
  sei();
7
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.