-
        

Ergebnis 1 bis 4 von 4

Thema: AVR/gcc: Symbol od. Define mit Controllernamen

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987

    AVR/gcc: Symbol od. Define mit Controllernamen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    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

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    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

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    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

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von Jaecko Beitrag anzeigen
    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?
    Wenn du dir solche Fragen zukünftig selber beantworten möchtest, dann machst du einfach folgendes:
    Code:
    echo | avr-gcc -mmcu=atmega8 -dM -E -
    Du wirst erstaunt sein, was da so alles vordefiniert ist, aber das, was du suchst, ist wohl nicht dabei.
    Es ist aber ein Kinderspiel das über das Makefile selbst zu realisieren:
    Code:
    CFLAGS += -DMCU=$(MCU)
    MfG
    Stefan

Ähnliche Themen

  1. Verständnisproblem #define
    Von Arkon im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 24.01.2012, 13:39
  2. Eagle-Symbol Glühlampe gesucht
    Von uwente im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 4
    Letzter Beitrag: 15.03.2009, 14:48
  3. Symbol im Schaltplan klären
    Von Elu im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 27.11.2007, 20:57
  4. Was bedeutet dieses Symbol?
    Von SprinterSB im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 09.11.2005, 12:22
  5. #define send, #define reveice
    Von pebisoft im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 09.03.2005, 08:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •