Forum: Mikrocontroller und Digitale Elektronik Eclipse - Definition von µC und "Syntax Highligthing"


von Ben (Gast)


Lesenswert?

Hallo,

ich habe scheinbar ein Problem mit der Definition des richtigen µC oder 
ähnlichen... ich weiß nicht, wie ich es sonst in Wort fassen soll, 
deshalb beschreibe ich mal das "Fehlverhalten".
Ich habe folgendes System:
Windows 7 64Bit, Eclipse (Juno), STK 500, ATmega 1284P

In den Projekt-Einstellungen habe ich den ATmega 1284P ausgewählt. 
Meines Wissens wird dadurch das Define "__AVR_ATmega1284P__" gesetzt. 
Das "syntax highlighting" und die Präprozessor-Ausgabe für den folgenden 
C-Code verhält sich zumindest so, als wenn "__AVR_ATmega1284P__" 
definiert und "__AVR_ATmega16__" nicht definiert ist:
1
#if defined __AVR_ATmega16__
2
   #error ATmega16 defined
3
#endif
4
5
#if defined __AVR_ATmega1284P__
6
   #warning ATmega1284ap defined
7
#endif

Soweit ist alles klar.

Wenn ich jedoch auf "UBRR1H" zugreifen möchte, so erscheint in Eclipse 
die Meldung "Symbol 'UBRR1H' could not be resolved", obwohl dies in der 
"iom1284p.h" definiert ist. Kompilieren lässt es sich.
Wenn ich z.B. "UBRRH" in Ecplise eintippe und dann zur Definition gehe, 
springt er in die Datei "iom16.h", obwohl diese in der "io.h" doch nur 
eingebunden wird, wenn "__AVR_ATmega16__" definiert ist.

Könnt ihr mir sagen, woran das liegt bzw. was ich falsch mache?

Gruß
Ben

von AVR (Gast)


Lesenswert?

Juno scheint hier (noch) ein wenig fehlerbehaftet. Zumindest habe ich 
auch Probleme, dass Register teilweise nicht erkannt werden, obwohl sich 
das Ganze kompilieren lässt. Dieses Verhaltet tritt erst seit dem Update 
auf Juno auf, davor konnte man es über die "Language Mappings" manuell 
beheben, siehe [1].

Sofern eine Lösung bekannt ist bzw. gefunden ist, wäre ich auch stark 
daran interessiert. Bis dahin muss man sich wohl damit abfinden, dass es 
noch nicht so ganz rund läuft :(.

[1] Beitrag "AVR eclipse error message problem!!"

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.