-         

Ergebnis 1 bis 8 von 8

Thema: Mein erstes Programm will nicht

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    13.01.2007
    Ort
    Dachau
    Alter
    28
    Beiträge
    53

    Mein erstes Programm will nicht

    Anzeige

    Hi,
    hab nach ewigem nichts tun meinen ASURO fertig und die Anleitung gelesen.
    Jetzt wollte ich die Status LED blinken lassen (Abwechselnd Grün und Rot).

    So hab ich mir das gedacht:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	int i;
    	Init();
    	StatusLED(GREEN);
    	while(1) {
    	 for(i=0, i<=1000, i++) {
    	  sleep(72);
    	 }
    	 StatusLED(RED);
    	 for(i=0, i<=1000, i++) {
    	  sleep(72);
    	 }
    	 StatusLED(GREEN);
    	}
    	while(1);
    	return 0;
    }
    Und das is der Fehler:

    asuro.h:52: error: previous declaration of 'StatusLED' was here
    test.c:16: error: conflicting types for 'StatusLED'
    asuro.h:52: error: previous declaration of 'StatusLED' was here
    test.c:16: warning: data definition has no type or storage class
    make: *** [test.o] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:00
    Als erstes würde mich interessiern ob in der Fehlermeldung irgendwo die Zeile vom Fehler steht.
    Und natürlich ein Tipp was falsch ist.

    Gruß,
    Lukas

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    da steht folgendes:

    asuro.h:52:error...
    das erste ist die datei, das zweite ist die zeilennummer, das letzte ist die fehlerbeschreibung. der fehler liegt also nicht in deinem programmcode sondern in der library (asuro.c und asuro.h). hast du die dateien von der cd kopiert? hast du bei allen dateien den schreibschutz entfernt? (glaub zwar nicht dass das daran liegt, könnte aber immerhin sein) ansonsten solltest du die neue lib hier aus dem forum benutzen.
    kleinschreibung ist cool!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    13.01.2007
    Ort
    Dachau
    Alter
    28
    Beiträge
    53
    Hi,
    ich bin einfach im FirstTry Verzeichniss und hab die Dateien von der CD.
    Schreibschutz war noch nie drauf ^^

    Ich hab halt die normale test.c Datei aus der Anleitung umgebastelt...

    Mal schaun, vielleicht klappts mit der neuen Lib.
    Aber eigentlich sollte das doch gehen oder?

    ------------------------------------------------------------------------------------

    Edit:

    Hab jetzt die Asuro Lib Files kopiert aber das geht immer no ned...
    und ich hab gemerkt, dass das log beim "make" länger ist als oben:

    test.c: In function `main':
    test.c:9: warning: left-hand operand of comma expression has no effect
    test.c:9: error: syntax error before ')' token
    test.c:13: warning: left-hand operand of comma expression has no effect
    test.c:13: error: syntax error before ')' token
    test.c: At top level:
    test.c:16: error: syntax error before numeric constant
    test.c:16: warning: type defaults to `int' in declaration of `StatusLED'
    test.c:16: warning: function declaration isn't a prototype
    test.c:16: error: conflicting types for 'StatusLED'
    asuro.h:52: error: previous declaration of 'StatusLED' was here
    test.c:16: error: conflicting types for 'StatusLED'
    asuro.h:52: error: previous declaration of 'StatusLED' was here
    test.c:16: warning: data definition has no type or storage class
    make: *** [test.o] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:00
    AH, wirre Code überall, er verfolgt mich...
    Ich weiß so gar nicht, was ich machen soll...

    ------------------------------------------------------------------------------------

    Edit 2:

    Ich hab bei for (i=o; usw) statt dem ; ein , geschrieben...

    Jetzt krieg ich noch folgenden Fehler:
    avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm
    test.o: In function `main':
    D:\Eigene Dateien\Asuro\ASURO_src\FirstTry/test.c:10: undefined reference to `sleep'
    D:\Eigene Dateien\Asuro\ASURO_src\FirstTry/test.c:14: undefined reference to `sleep'
    make: *** [test.elf] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:01
    In der Asuro.h finde ich zB auch nix wo sleep steht...
    In der Anleitung steht der Befehl aber genau so drin

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    achsoo ich hab was...
    es heisst for(xxx;xxx;xxx) und nicht for(xxx,xxx,xxx)

    also semikola anstelle der kommas
    kleinschreibung ist cool!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.11.2006
    Ort
    Hamburg
    Alter
    28
    Beiträge
    184
    sleep schreib man mit großer Anfangsbuchstabe: Sleep(hz);
    Gruß Raid

    Der ^^ Mann

  6. #6
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    stimmt, das auch noch. die groß-und kleinschreibung ist extrem wichtig, ebi allen befehlen.
    kleinschreibung ist cool!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    13.01.2007
    Ort
    Dachau
    Alter
    28
    Beiträge
    53
    Juhu! Es klappt Danke euch beiden
    Hab jetzt auch geflashed, passt alles.

    Hehe jetzt wechselt jede Sekunde die Farbe und ich bin stolz wie Oskar *grins*

  8. #8
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    sehr gut... so muss das sein. viel glück weiterhin!
    kleinschreibung ist cool!

Berechtigungen

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