Forum: Compiler & IDEs Win-Avr/gcc Fehlermeldung


von hcaj1nt (Gast)


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
1
 Build started 11.2.2011 at 13:02:08
2
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
3
../Blinker2313.c:6: error: expected declaration specifiers or '...' before numeric constant
4
../Blinker2313.c:6: warning: return type of 'main' is not 'int'
5
../Blinker2313.c:19: error: expected identifier or '(' before 'return'
6
../Blinker2313.c:20: error: expected identifier or '(' before '}' token
7
make: *** [Blinker2313.o] Error 1
8
Build failed with 3 errors and 1 warnings...
Leider finde ich im Programm keinen Fehler
1
#include <avr/io.h>
2
3
#define F_CPU 8000000UL      // 8 MHz (fuer delay.h)
4
#include <util/delay.h>
5
6
int main(void){
7
    DDRD |= _BV(PD5);        //PD5 ist jetzt Ausgang
8
   
9
    while(1){
10
       
11
        PORTD |= _BV(PD5);     // PD5=High -> LED an
12
        _delay_ms(250);        // Warte 250ms
13
        PORTD &= ~_BV(PD5);    // PD5=Low -> LED aus
14
        _delay_ms(250);        // Warte 250ms
15
    }
16
 
17
18
return 0;
19
}

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Vorname N. (felixx)


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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von g457 (Gast)


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

von hcaj1nt (Gast)


Lesenswert?

Ein Reboot hat das Problem behoben danke :D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.