Timer mit AtMega32: AVR-GCC Variable nicht deklariert

Gast #1669435
Lesenswert?

Hallo,

ich möchte gerne meine ersten Versuche mit Timern machen. Hierzu habe 
ich aus dem AVR-GCC-Tutorial folgenden Code entnommen:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
 
4
//Variablen für die Zeit
5
volatile unsigned int  millisekunden;
6
volatile unsigned int sekunde;
7
volatile unsigned int minute;
8
volatile unsigned int stunde;
9
 
10
int main(void)
11
{
12
  // Timer 0 konfigurieren
13
  TCCR0A = (1<<WGM01); // CTC Modus
14
  TCCR0B |= (1<<CS01); // Prescaler 8
15
  // ((1000000/8)/1000) = 125
16
  OCR0A = 125-1;
17
 
18
  // Compare Interrupt erlauben
19
  TIMSK |= (1<<OCIE0A);
20
 
21
  // Global Interrupts aktivieren
22
  sei();
23
 
24
  while(1)
25
  {
26
    /*Hier kann die aktuelle Zeit
27
      ausgeben werden*/
28
  }
29
}

Mein AVR-GCC meldet mir folgendes:
1
admin@FSC-601:~/Desktop/timertemp$ avr-gcc -mmcu=atmega32 -o timertest.elf main.c
2
main.c: In Funktion »main«:
3
main.c:13: Fehler: »TCCR0A« nicht deklariert (erste Benutzung in dieser Funktion)
4
main.c:13: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
5
main.c:13: Fehler: für jede Funktion in der er auftritt.)
6
main.c:14: Fehler: »TCCR0B« nicht deklariert (erste Benutzung in dieser Funktion)
7
main.c:16: Fehler: »OCR0A« nicht deklariert (erste Benutzung in dieser Funktion)
8
main.c:19: Fehler: »OCIE0A« nicht deklariert (erste Benutzung in dieser Funktion)

Fehlt mit eine Include? GCC-Version ist 4.3.3

Vielen Dank
Gast #1669445
Lesenswert?

Nee,
dann wäre ja noch eine zusätzliche Fehlermeldung.
Ich vermute mal daß Deine Register gegenüber dem im Tutorial verwendeten 
Prozessor geringfügig anders heißen. (Atmel ist da nicht ganz 
konsistent).
Gruß Anja

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