Timer (+ IAR Debuger + JTAG)

Gast #690926
Lesenswert?
• ▲
▼
Hallo,

hab ein Problem mit meinem Programm/IAR Debugger. Hab einen ATmega32 
über JTAG mit dem Debugger verbunden. Funktioniert soweit auch prima. 
Jetzt habe ich aber einen Timer im Code verwendet (CTC Mode). Beim 
debuggen sehe ich auch wie sich der Wert im TCNT0 Register ändert, aber 
der Interrupt wird nicht ausgeführt (Breakpoint in der ISR).
Hat jemand eine Idee woran das liegen könnte? Hab leider kein Oszi um 
mal zu messen. Hab über einen Teiler den Takt auf 1s runter geteil, aber 
LED blinkt auch nicht :(

Hier mein Code:
1
#pragma vector=TIMER0_COMP_vect
2
__interrupt void timerCompareHandler( void )
3
{
4
  if (--teiler == 0)
5
  {
6
    teiler = 125;
7
  }
8
}//timerCompareAHandler()
9

10
void init_timer0(void)
11
{
12
  DDRB |= (1<<PB3); //OC0 pin to output
13
  PORTB &= ~(1<<PB3);
14
  // presacler by 64, clear on compare with OCR0, Toggle OC0 pin
15
  TCCR0 = (1<<WGM01)|(0<<WGM00)|(0<<COM01)|(1<<COM00)|(0<<CS02)|(1<<CS01)|(1<<CS00);
16
  OCR0 = 199; //625Hz @ 16MHz system clock
17
  TCNT0 = 0;    // Timer startet mit 0
18

19
  SREG |= GIE;  //enable global interrupt
20
  TIMSK = 1<<OCIE1A;    // Interupt bei Vergleichswert (Compare Match)
21
}

Hat jemand eine Idee?

Gruß
Peter

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