Forum: Mikrocontroller und Digitale Elektronik Eclipse AVR Plugin - Falsche Header-Datei wird geladen


von TO (Gast)


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.

von Bernd K. (prof7bit)


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.

von TO (Gast)


Lesenswert?

Hallo,

hat funktioniert!

vielen Dank

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.