mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio kennt Registernamen vom uC nicht


Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich verwende das AVR Studio um meinen ATmega3290P zu programmieren. 
Bisher hat er meine Register, die ich beschrieben habe erkannt. Nun 
jedoch möchte ich auf das Register TCCR0B zugreifen und bekomme folgende 
Fehlermeldung:
error: 'TCCR0B' undeclared (first use in this function)

Nun frage ich mich warum er sie nicht kennt, obwohl ich diesen Namen 
(wie alle anderen) aus dem Datenblatt kopiert habe. Muss ich dem AVR 
Studio etwa erst eine IO-Bibliothek bekannt geben? Wenn ja, dann 
verstehe ich allerdings nicht, warum mein Programm bisher reibungslos 
lief.

Habe bisher nur diese hier gebraucht:
#include <string.h>
#include <inttypes.h>

Danke schon mal für eure Tipps.

Autor: S. Seegel (energizer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <avr/io.h>

sollte auch dabei sein.

Stefan

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke dir Stefan.

In der IO.h steht unter anderem dieser Eintrag:
#elif defined (__AVR_ATmega3290P__)
#  include <avr/iom3290.h>
Muss ich jetzt noch irgendwie bekannt geben welchen uC ich habe? (z.B. 
so: #define _AVR_ATmega3290P_) Oder erkennt er das selber wenn ich den 
uC zum flashen verbinde?

Meine Fehlermeldungen habe ich leider immer noch.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Muss ich jetzt noch irgendwie bekannt geben welchen uC ich habe? (z.B.
>so: #define AVR_ATmega3290P) Oder erkennt er das selber wenn ich den
>uC zum flashen verbinde?

Der Controller-Typ wird im Makefile angegeben.
Beim AVRStudio sollte das automatisch passieren, wenn man bei den 
Projekteinstellungen den richten Controller auswählt.

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal nachgeschaut. Habe aber ganz sicher den richtigen uC 
ausgewählt.

Hat jemand eine Idee warum das AVR Studio dann trotzdem mein Register 
(Register  TCCR0B) nicht kennt?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hat jemand eine Idee warum das AVR Studio dann trotzdem mein Register
>(Register  TCCR0B) nicht kennt?

Weil es in der Header Datei nicht existiert.
Heisst vieleicht nur anders. Das kommt oft
vor weil Atmel die Registernamen dauernd ändert.
Wenn man ein Programm von einem anderen uC nimmt
muss man das häufig anpassen.

Da hilft nur ein Blick ins Datenblatt.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Blick ins Datenblatt sagt das es kein TCCR0B gibt.

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh jeh....  ich habe zwei verschiedene Atmels auf meinem Board und habe 
die ganze Zeit im falschen Datenblatt umhergeirrt. :(
Danke für den Hinweis Hubert.

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh ja, ich hätte auch gerne mal einen Mega1284P, dafür ein Raven zu 
kaufen ist mir dann doch aber ein wenig zu heftig. :-)

Obwohl es die Raven bei Reichelt ja inzwischen sogar einzeln gibt.

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rudolph,

ein sehr aufmerksamer Leser ;)
Ja die Raven sind eine sehr feine Sache. Es ist zwar ein wenig aufwändig 
bis man sich mal eingearbeitet hat, aber wenn man die Funkschnittstelle 
eh schon nutzen möchte kann ich sie nur empfehlen. Die fertigen 
Funktionen nehmen einem sehr viel Arbeit ab.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.