www.mikrocontroller.net

Forum: Compiler & IDEs Win-Avr/gcc Fehlermeldung


Autor: hcaj1nt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo forum,

Ich bin ein absouluter noob in sachen Mikrocontrollern kann zwar ein 
wenig c++ aber nichts was mir wirklich hilft denn ich lerne ja jetzt C 
:D
Ich gehe nach einem Tutorial von der seite mikrocontrollerspielewiese
dort ist ein code gezeit der ein Blinklicht an einem atTiny2313 
erstellt(doof formuliert). Nach der Kompilirung erscheint folgene 
Fehlermelung
 Build started 11.2.2011 at 13:02:08
avr-gcc  -mmcu=attiny2313 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Blinker2313.o -MF dep/Blinker2313.o.d  -c  ../Blinker2313.c
../Blinker2313.c:6: error: expected declaration specifiers or '...' before numeric constant
../Blinker2313.c:6: warning: return type of 'main' is not 'int'
../Blinker2313.c:19: error: expected identifier or '(' before 'return'
../Blinker2313.c:20: error: expected identifier or '(' before '}' token
make: *** [Blinker2313.o] Error 1
Build failed with 3 errors and 1 warnings...
Leider finde ich im Programm keinen Fehler
#include <avr/io.h>

#define F_CPU 8000000UL      // 8 MHz (fuer delay.h)
#include <util/delay.h>

int main(void){
    DDRD |= _BV(PD5);        //PD5 ist jetzt Ausgang
   
    while(1){
       
        PORTD |= _BV(PD5);     // PD5=High -> LED an
        _delay_ms(250);        // Warte 250ms
        PORTD &= ~_BV(PD5);    // PD5=Low -> LED aus
        _delay_ms(250);        // Warte 250ms
    }
 

return 0;
}

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es besteht der Verdacht, daß "Blinker2313.c" nicht die von Dir gepostete 
Datei ist, denn die Zeilennummern in den Fehlermeldungen korrelieren 
nicht mit den entsprechenden Stellen in Deinem Quelltext.

Autor: Vorname Nachname (felixx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Zeilennummern scheinen schon zu stimmen: 6 für den Beginn  on main 
und 19 für das Ende. Der Compiler scheint also 'main' nicht zu kennen. 
Entweder fehlt ein #include oder die Kompilerinstallation ist 
fehlerhaft. Vielleicht den PC rebooten, damit  die Pfade (wieder) 
stimmen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. Firefly schrieb:
> denn die Zeilennummern in den Fehlermeldungen korrelieren
> nicht mit den entsprechenden Stellen in Deinem Quelltext.

... und die Fehlermeldungen nicht mit dem Programm.  Wenn der Compiler
da warnt "return type of main is not `int'", dann sagt das Programm
einfach was anderes.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..könnte prinzipiell auch sein dass die util/delay.h defekt (oder 
manipuliert) ist, oder dass sich irgendwo(tm) nichtdarstellbare 
Sonderzeichen derart in den Quellcode eingeschlichen haben, dass der gcc 
durcheinander kommt. Wäre gut wenn der TO mal die Originaldatei als 
Anhang hochladen könnte - obiges Fragment compiliert auch 
hierzuworkstation einwandfrei.

HTH

Autor: hcaj1nt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Reboot hat das Problem behoben danke :D

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.