Warum keine anständige Fehlermeldung

Gast #237851
Lesenswert?
• ▲
▼
Hallo

Heute habe ich nun WinAVR installiert und in betrieb genommen.
Das Beispiel int \examples\demo konnte ich kompillieren ohne Fehler.

Nun habe ich ein gefundenes Programm reinkopiert mit Makefile für
ATMega16.

Jetzt bekomme ich folgende Fehlermeldung(Siehe Bild).

Was sagt mir die Fehlermeldung?

Ist es normale dass die Fehlermeldung so wenig aussagt
oder bin ich da als Anfänger noch überfordert?


Gruss

MidasX






#include <avr/io.h>


static void avr_init(void);


int main(void)
{
    avr_init();

    for(;;)
    {
        // Tasks here.

    }

    return(0);
}



static void avr_init(void)
{
    // Initialize device here.


void

void

void

#include <avr/io.h>


static void avr_init(void);


int main(void)
{
    avr_init();

    for(;;)
    {
        // Tasks here.

    }

    return(0);
}



static void avr_init(void)
{
    // Initialize device here.


    return;
}


    (void)
{
}


    (void)
{
}


    (void)
{
}




    return;
}


    /*********************************************
Lauflicht (3 LED's)
Compiler            : winavr
Chip type           : ATtiny2313
nst, 09.03.2005
*********************************************/
#include <avr/io.h>
#include <avr/delay.h>

#define outp(o_bit, v) v=o_bit

void main(void)
{ unsigned char led = 0x01;
  unsigned char i;

  outp(0x0F,DDRD);
  while (1)
  { outp(~led, PORTD);
    led <<=1;
    if (led == 0x10)
    { for (i=0; i<10; i++) _delay_loop_2(50000);
      led = 0x01;
      outp(~0x00, PORTD);
    }
    for (i=0; i<10; i++) _delay_loop_2(50000);

  }
}
Angehängte Dateien:
Gast #237853
Lesenswert?
• ▲
▼
Hi Rufus T. Firefly

Habe ich die Funktion vom Makefile falsch verstanden?

Ich bin immer davon ausgegangen dass das File nur dazu da ist damit der
Compiler weiss für welchen mc er Compilieren muss?

Ich habe das MakeFile erstellt und ins gleiche Verzeichnis kompiert
meines Projekt kompiert.

Warum braucht der das Main.o und was soll main.elf sein?

Gruss

MidasX
Angehängte Dateien:
Persönliche Seite #237854
Lesenswert?
• ▲
▼
Im Makefile muss aufgeführt werden, welche Sourcefiles zum Projekt
gehören - auch bei einem aus nur einem Sourcefile bestehenden Projekt
muss der Name des Sourcefiles drinstehen.

Ausschnitt aus "deinem" Makefile:

  # Target file name (without extension).
  TARGET = main

  # List C source files here. (C dependencies ...
  SRC = $(TARGET).c

Entweder benennst Du Dein Sourcefile in main.c um oder aber Du
schreibst in das Makefile an dieser Stelle den Namen Testbeispiel1
'rein.
Gast #237856
Lesenswert?
• ▲
▼
Hallo

Ich habe jetzt mein erstes Beispiel geschrieben.

Leider funktioniert es nicht. Sobald ich den Befehl "outp" einsetzte
kommen Fehlermeldungen. Irgendwie kann er die Funktion dazu nicht
finden.

Ich habe die Bibliothek <io.h< ins gleiche Verzeichnis meines Projekts
kopiert.

Muss man dies überhaupt machen.

Ich vermute dass ich hier was falsch gelinkt haben?
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.