Forum: Compiler & IDEs Atmega644 Includes Dateien für AVRStudio


von Wurik (Gast)


Lesenswert?

Hallo,

irgendwie lässt sich der Code nicht mehr kompilieren, nachdem ich auf 
Atmega644 umgestiegen bin. Ich verwende einen Timer im Code und der 
Compiler erkennt die Registernamen nicht mehr.

Beim Compilieren habe ich als Device: Atmega644 ausgewählt.

Hier ist der Fehler, den mir der Compiler herausgibt:
../main.c:78: error: `TIMSK' undeclared (first use in this function)
../main.c:83: error: `TCCR0' undeclared (first use in this function)

Obwohl alle includes sind meiner Meinung nach hinzugefügt:
#include <avr/io.h>
#include <iom644.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>


Was mache ich falsch?

von Johannes M. (johnny-m)


Lesenswert?

Wurik wrote:
> Hier ist der Fehler, den mir der Compiler herausgibt:
> ../main.c:78: error: `TIMSK' undeclared (first use in this function)
> ../main.c:83: error: `TCCR0' undeclared (first use in this function)
Dann schau mal ins Datenblatt, ob es die betreffenden Register beim 
Mega644 überhaupt gibt. Ich bin mir ziemlich sicher, dass die beim 
Mega644 anders heißen.

> Obwohl alle includes sind meiner Meinung nach hinzugefügt:
> #include <avr/io.h>
> #include <iom644.h>
Das ist Schrott! Der verwendete µC wird im Makefile bzw. im AVRStudio 
angegeben. Niemals die Device-Header direkt einbinden. Immer nur 
"avr/io.h" einbinden.

> #include <signal.h>
Die ist völlig veraltet. Nimm "avr/interrupt.h".

BTW: Die Headerdateien haben nichts mit AVRStudio zu tun. Die 
interessieren nur den Compiler.

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.