Atmega644 Includes Dateien für AVRStudio

Gast #813540
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?
#813576
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.

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