TMR0 und Interrupt Routine

Gast #682733
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
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren