Forum: Mikrocontroller und Digitale Elektronik #define für AVR Familie?


von Jan H. (janiiix3)


Lesenswert?

Nabend,

gibt es die Möglichkeit, durch den Präprozessor herauszufinden, welche 
AVR Familie gerade benutzt wird?

Ob MEGA ODER XMEGA?

Danke im voraus.

von Wolfgang (Gast)


Lesenswert?

Jan H. schrieb:
> gibt es die Möglichkeit, durch den Präprozessor herauszufinden, welche
> AVR Familie gerade benutzt wird?

Das kommt auf die verwendete Entwicklungsumgebung an

von Jan H. (janiiix3)


Lesenswert?

Wolfgang schrieb:
> Jan H. schrieb:
>> gibt es die Möglichkeit, durch den Präprozessor herauszufinden, welche
>> AVR Familie gerade benutzt wird?
>
> Das kommt auf die verwendete Entwicklungsumgebung an

Benutze das Atmel Studio.

von Timmo H. (masterfx)


Lesenswert?

1
__AVR_ARCH__
2
bzw.
3
__AVR_MEGA__
4
bzw.
5
__AVR_XMEGA__

: Bearbeitet durch User
von Jan H. (janiiix3)


Lesenswert?

Timmo H. schrieb:
> __AVR_ARCH__
> bzw.
> __AVR_MEGA__
> bzw.
> __AVR_XMEGA__

ARCH, soll für Struktur stehen?
Gibt es die beiden anderen defines Standardmäßig?

von leo (Gast)


Lesenswert?

Jan H. schrieb:
> ARCH, soll für Struktur stehen?
> Gibt es die beiden anderen defines Standardmäßig?

Google wieder kaputt?
https://www.microchip.com/webdoc/AVRLibcReferenceManual/using_tools_1using_avr_gcc_mach_opt.html

leo

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Jan H. schrieb:
> gibt es die Möglichkeit, durch den Präprozessor herauszufinden, welche
> AVR Familie gerade benutzt wird?
>
> Ob MEGA ODER XMEGA?

Bei avr-gcc siehe Doku:

http://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html#AVR-Built-in-Macros

Die definierten Macros kann man sich auch auf Console anzeigen lassen:
1
$ echo | avr-gcc -mmcu=atxmega32e5 -xc - -E -dM | grep -i avr | sort
2
#define AVR 1
3
#define __AVR 1
4
#define __AVR_2_BYTE_PC__ 1
5
#define __AVR_ARCH__ 102
6
#define __AVR_ATxmega32E5__ 1
7
#define __AVR_DEVICE_NAME__ atxmega32e5
8
#define __AVR_ENHANCED__ 1
9
#define __AVR_HAVE_16BIT_SP__ 1
10
#define __AVR_HAVE_JMP_CALL__ 1
11
#define __AVR_HAVE_LPMX__ 1
12
#define __AVR_HAVE_MOVW__ 1
13
#define __AVR_HAVE_MUL__ 1
14
#define __AVR_HAVE_SPH__ 1
15
#define __AVR_MEGA__ 1
16
#define __AVR_SFR_OFFSET__ 0x0
17
#define __AVR_XMEGA__ 1
18
...

von Stefan F. (Gast)


Lesenswert?

Johann L. schrieb:
> $ echo | avr-gcc -mmcu=atxmega32e5 -xc - -E -dM | grep -i avr | sort

Angeber :-)

Beitrag #5867606 wurde von einem Moderator gelöscht.
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.