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.
Danke dir Stefan. In der IO.h steht unter anderem dieser Eintrag:
1 | #elif defined (__AVR_ATmega3290P__)
|
2 | # 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.
>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.
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?
>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.
Der Blick ins Datenblatt sagt das es kein TCCR0B gibt.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.