- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Anpassung einer Atmel AppNote an GCC

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Anpassung einer Atmel AppNote an GCC

    Hallo Leute,

    bei der Anpassung einer Atmel AppNote (C-Code mit IAR EWAAVR 4.11A Compiler) an AVR-GCC habe ich 2 Fragen:

    1. Es wird die <inavr.h> includiert. Ist das in GCC die <avr/interrupt.h> ?

    2. Als Compiler-Anweisungen kommen solche vor:
    #if defined(abc) | defined(def) | defined(ghi)
    In GCC kenne ich nur:
    #ifdef(abc) und das ODER scheint da nicht zu gehen, oder gibt's da etwas anderes?

    Gruß Dirk

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    1. Es wird die <inavr.h> includiert. Ist das in GCC die <avr/interrupt.h> ?
    Ich kenne den IAR nicht, es würde mich aber schon sehr wundern, wenn es bei den Header-Dateien immer 1:1-Entsprechungen gäbe. Portiere den Code und inkludiere dann das, was du für den neuen Code brauchst. Werden dort Interrupts verwendet, dann inkludiere <avr/interrupt.h>. Wenn nicht, dann nicht.

    2. Als Compiler-Anweisungen kommen solche vor:
    #if defined(abc) | defined(def) | defined(ghi)
    Die Zeile funktioniert genau so auch mit dem gcc.
    MfG
    Stefan

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802

    Re: Anpassung einer Atmel AppNote an GCC

    Zitat Zitat von Dirk
    Hallo Leute,

    2. Als Compiler-Anweisungen kommen solche vor:
    #if defined(abc) | defined(def) | defined(ghi)
    In GCC kenne ich nur:
    #ifdef(abc) und das ODER scheint da nicht zu gehen, oder gibt's da etwas anderes?

    Gruß Dirk
    im Zweifelsfalle
    Code:
    #if defined(abc) || defined(def) || defined(ghi)
    Ebenso gehen ! und && und runde Klammern
    Disclaimer: none. Sue me.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @Stefan:
    Portiere den Code und inkludiere dann das, was du für den neuen Code brauchst.
    Ok, werde ich versuchen. Aktuell fehlen mir die USI-Register. Gibt's die nur in der uC-Def-Datei (z.B. beim ATtiny 26) oder auch allgemein in einer (nicht uC-spezifischen) Lib?

    @SprinterSB:
    Danke, habs hingekriegt.

    Gruß Dirk

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Ok, werde ich versuchen. Aktuell fehlen mir die USI-Register. Gibt's die nur in der uC-Def-Datei (z.B. beim ATtiny 26) oder auch allgemein in einer (nicht uC-spezifischen) Lib?
    Spezifische Registerdefinitionen sind nur in den Header-Dateien derjenigen µCs, die diese Register auch haben. Du bindest die aber nicht selber direkt ein, sondern immer nur <avr/io.h> und setzt mcu passend.
    MfG
    Stefan

Berechtigungen

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

12V Akku bauen