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