Eclipse AVR Plugin - Falsche Header-Datei wird geladen

Gast #4634602
Lesenswert?
• ▲
▼
Hallo,

ich programmiere mit Eclipse (4.4.1) und dem AVR Eclipse Plugin (2.4.1). 
Mit den Controllern die ich bislang verwendet habe hat das auch 
problemlos funktioniert. Heute wollte ich mal ein Programm auf einem 
Atmega328P testen. Dabei musste ich feststellen, dass anscheinend der 
falsche IO-Header eingebunden wird.

Ich verwende
1
#include <avr/io.h>
zum einbinden der Registernamen etc. Ich bekomme dann aber lauter 
Meldungen der Art
1
Symbol 'UBRR0H' could not be resolved
In der Header-Datei des Atmega328P wird das Register aber so genannt. 
Ich habe dann mal versucht die Header-Datei avr/iom328p.h direkt 
einzubinden. Das funktioniert aber auch nicht, da in dieser Datei 
folgendes steht:
1
#ifndef _AVR_IO_H_
2
#  error "Include <avr/io.h> instead of this file."
3
#endif
4

5
#ifndef _AVR_IOXXX_H_
6
#  define _AVR_IOXXX_H_ "iom328p.h"
7
#else
8
#  error "Attempt to include more than one <avr/ioXXX.h> file."
9
#endif

Kennt jemand dieses Problem? Hat dazu jemand eine Lösung?

PS: In den Projekteinstellungen ist der MCU Type ATmega328P eingestellt.
#4634658
Lesenswert?
• ▲
▼
TO schrieb:
> PS: In den Projekteinstellungen ist der MCU Type ATmega328P eingestellt.

Stell den MCU-Typ einmal auf nen anderen um (irgendeinen), klick OK, 
dann geh wieder in den Dialog und stell stell ihn wieder zurück auf den 
gewünschten Typ und klick wieder OK. Danach hat er es gefressen.

Ist ein alter bekannter Bug. Nach diese Prozedur merkt er es sich aber 
und bleibt dann in Zukunft richtig, das ist immer nur beim ersten Mal in 
einem neuen Projekt erforderlich.

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