Forum: Mikrocontroller und Digitale Elektronik Timer mit AtMega32: AVR-GCC Variable nicht deklariert


von Blu-Ray (Gast)


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

von Anja (Gast)


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

von g457 (Gast)


Lesenswert?

1
$ grep -e TCCR0 -e OCR0 -e OCIE0 /usr/lib/avr/include/avr/iom32.h 
2
#define TCCR0   _SFR_IO8(0x33)
3
#define OCR0    _SFR_IO8(0x3C)
4
#define OCIE0   1
5
/* TCCR0 */

HTH

von g457 (Gast)


Lesenswert?

..mift jetzt hab ichs doch vergessen: Da gehört noch ein 'Der Rest steht 
im Datenblatt' dazu :-)

</ingrid>

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.