Hi,
ob es sowas gibt kann ich dir nicht sagen. Aber jeder Controller hat ja eine Device Signature. Kannst du diese nicht verwenden?
Bei den Programmern wird diese ja auch dafür verwendet um zu checken das der richtige Controller verwendet wird.
Moin.
Gibt es im GCC (AVR Studio) ein Symbol bzw. #define, das den verwendeten AVR beinhaltet?
Es gibt ja z.B. die Symbole wie __AVR_ATmega8__, die halt entweder definiert sind oder nicht, je nach dem ob ein ATmega8 verwendet wird.
Gibts irgendetwas, das immer gleich heisst und den Controllernamen beinhaltet? (Alternativ eine je nach AVR unterschiedliche, eindeutige ID/Nummer/etc). Sowas im Stil wie z.B. __LINE__, __DATE__, etc.
Hintergrund: Ein Codeteil soll ohne Veränderungen auf verschiedenen AVRs verwendet werden. Darin wird u.a. der AVR-Name über CAN ausgegeben. Die Information soll dann ohne Zutun des Benutzers (fehleranfällig) verfügbar sein.
mfG
#ifndef MfG
#define MfG
Hi,
ob es sowas gibt kann ich dir nicht sagen. Aber jeder Controller hat ja eine Device Signature. Kannst du diese nicht verwenden?
Bei den Programmern wird diese ja auch dafür verwendet um zu checken das der richtige Controller verwendet wird.
Schaut ruhig mal auf meiner Homepage vorbei :
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Mach's so:
Code:#ifdef __AVR_ATmega8__ const unsigned char ucinfo[] PROGMEM = {"Im_Mega8\0"}; #elif __AVR_ATmega16__ const unsigned char ucinfo[] PROGMEM = {"Im_Mega16\0"}; // #elif // usw. #else #error No µC Definition found #endif
Wenn du dir solche Fragen zukünftig selber beantworten möchtest, dann machst du einfach folgendes:
Du wirst erstaunt sein, was da so alles vordefiniert ist, aber das, was du suchst, ist wohl nicht dabei.Code:echo | avr-gcc -mmcu=atmega8 -dM -E -
Es ist aber ein Kinderspiel das über das Makefile selbst zu realisieren:
Code:CFLAGS += -DMCU=$(MCU)
MfG
Stefan
Lesezeichen