Debuggingfehler AvrStudio 5?

#2222218
Lesenswert?

Hallo!
Ich habe folgenden Code (um ein Servo anzusteuern) geschrieben (Für 
AtMega88 mit AvrStudio 5.0.1038):
1
#define F_CPU 8000000UL  // 8 MHz
2

3
#include <avr/io.h>
4
#include <avr/interrupt.h>
5

6
uint8_t servo = 0;
7
uint16_t servoCounter = 0;
8

9
int main(void)
10
{
11
  DDRB = 0x0F;
12
  DDRD = 0xFF;
13
  
14
  TCCR0A = (1<<COM0B1)|(1<<WGM00)|(1<<WGM01);
15
  TCCR0B = (1<<CS01);
16
  TIMSK0 = (1<<OCIE0A)|(1<<TOIE0);
17
  OCR0A = 34;
18
  
19
  TCCR2A = (1<<COM2A1)|(1<<COM2B1)|(1<<WGM20)|(1<<WGM21);
20
  TCCR2B = (1<<CS21);
21
  
22
  sei();
23
  
24
  while(1)
25
  {
26
    
27
  }
28
}
29

30
ISR(TIMER0_COMPA_vect)
31
{
32
  if(servoCounter > 5818)
33
  {
34
    servoCounter = 0;
35
    PORTD |= (1<<6);
36
  }
37
  else
38
    if(servoCounter > servo/8+28)
39
      PORTD &= ~(1<<6);
40
  servoCounter++;
41
}

Das habe ich jetzt debbugt. Aber in der Memory-view und in der 
Watch-view setzt es servoCounter immer wieder auf 0, sobald ich in den 
Interrupt eintrete. Habe ich etwas falsch programmiert oder hat es 
(noch) einen Fehler im debugger vom AvrStudio 5 beta?
Gruss Erdbewohner

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