-         

Ergebnis 1 bis 9 von 9

Thema: Kann nicht mehr compilieren :(

  1. #1

    Kann nicht mehr compilieren :(

    Anzeige

    Hallo.
    Ich wollte ein paar .c Dateien, die hier im Forum gepostet wurden, testen (Code aus "Ausuro folgt der Linie"). Dazu habe ich einen neuen Ornder erstellt mit

    Code:
    28.09.2005  15:51            18.422 asuro.c
    04.12.2006  17:47                34 asuro.d
    28.09.2005  15:51            14.347 asuro.h
    19.12.2005  14:01             7.297 Makefile
    06.01.2001  18:08                 8 Test-all.bat
    06.01.2001  18:08                10 Test-clean.bat
    04.12.2006  17:27             1.044 test.c
    04.12.2006  17:31               963 test.c.old
    04.12.2006  17:47                31 test.d
    Wenn ich allerdinge compilieren will, erhalte ich zig Fehler, nämlich:
    Code:
    -------- begin --------
    avr-gcc --version
    avr-gcc (GCC) 3.4.6
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -I../../lib/inc -funsigned-char -funsigne
    itfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=tes
    st test.c -o test.o
    In file included from asuro.h:145,
                     from test.c:2:
    C:/Programme/ASURO/WinAVR/avr/include/avr/signal.h:36:2: warning: #warning "T
     header file is obsolete.  Use <avr/interrupt.h>."
    test.c: In function `main':
    test.c:30: error: syntax error before ';' token
    test.c:24: warning: unused variable `i'
    test.c: At top level:
    test.c:32: warning: type defaults to `int' in declaration of `LineData'
    test.c:32: warning: parameter names (without types) in function declaration
    test.c:32: error: conflicting types for 'LineData'
    asuro.h:329: error: previous declaration of 'LineData' was here
    test.c:32: error: conflicting types for 'LineData'
    asuro.h:329: error: previous declaration of 'LineData' was here
    test.c:32: warning: data definition has no type or storage class
    test.c:33: warning: type defaults to `int' in declaration of `ADOffset'
    test.c:33: error: initializer element is not constant
    test.c:33: warning: data definition has no type or storage class
    test.c:34: warning: type defaults to `int' in declaration of `speedLeft'
    test.c:34: error: initializer element is not constant
    test.c:34: warning: data definition has no type or storage class
    test.c:35: error: syntax error before ';' token
    ....
    Kann mir kurz einer sagen, was da faul ist?
    Komisch finde ich auch: Wenn ich unter Programmers Notepad IRGEND eine .c Datei öffne, wird bei "make" immer in das Verzeichnis > "C:\Programme\ASURO\ASURO_src\FirstTry\Test-all.bat" gesprungen -- wo wohl offenbar die aller erste Testversion lag?

    Idee, woran das liegen könnte?
    Danke,
    W.R.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    funktioniert das kompilieren der demo dateien, die bei der lib dabei waren?
    ...

  3. #3
    ich habe verschiedene c-files, die ohne probleme funktionieren. Einige sind alt und kommen von der CD und andere sind neu und benutzen die Lib 2.6 -- beide liegen in verschiedenen Ordnern und beide laufen. Wenn ich aber ein eigenes Projekt starte (so wie dieses) geht es nicht ... seltsam, oder?

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    kopiere das verzeichnis "firsttry" von der cd.

    überschreibe asuro.c und asuro.h (wenn gewünscht) mit der neuen lib.

    ersetze test.c mit deinem programmcode, den du kompilieren willst (NENN IHN AUCH TEST.C)

    und dann öffne die konsole, wechsle in das verzeichnis vo dein programmcode liegt und gib "make all" ein.

    du kannst alternativ auch auf test-all.bat doppelklicken, aber dann siehst du die ausgabe des compilers nicht.

    wenn das nicht geht, dann kontrolliere erstmal den programmcode... syntax error usw klingt echt nach programmfehlern. poste mal den code hier.
    kleinschreibung ist cool!

  5. #5
    Ich habe alles so gemacht aber es bleibt bei den Fehlern.
    Der code kommt hier aus dem Forum:

    Code:
    #include "asuro.h"
    
    #define SPEED  0x8F
    
    int speedLeft,speedRight;
    unsigned int lineData[2];
    int ADOffset;
    
    void LineLeft (void)
    {
       speedLeft  += 1;
       if (speedLeft > 0xFE) speedLeft = 0xFF;
    }
    
    void LineRight (void)
    {
       speedRight  += 1;
       if (speedRight > 0xFE) speedRight = 0xFF;
    }
    
    int main(void)
    {
       int i;
       unsigned char j;
    
       Init();
    
       FrontLED(ON);
       while(1) (j = 0; j < 0xFF; j++) {
          LineData(lineData);}
          LineData(lineData);
          ADOffset = lineData[0] - lineData[1];
          speedLeft = speedRight = SPEED;
          (;;while(1) {
             LineData(lineData);
             i = (lineData[0] - lineData[1]) - ADOffset;
             if ( i > 4) {
                StatusLED(GREEN);
                LineLeft();
             }
             else if ( i < -4) {
                StatusLED(RED);
                LineRight();
             }
             else {
                StatusLED(OFF);
                speedLeft = speedRight = SPEED;
             }
             MotorSpeed(speedLeft,speedRight);
          }
          return 0;
    }
    auch zu finden ganz unten auf Seite 1 unter:
    http://<br /> <a href="http://www.r...inie</a><br />

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    bekenne mich schuldig, dieser code stammt von nmir
    nicht alle codes die hier gepostet werden funktionieren auch.
    ich wage es zu behaupten das die meisten sogar nicht fnuktioniern.
    und bei dem hab ich halt grad eine kleine sache übersehen gehabt, so das massenweise fehler rauskamen. tja. ich poste halt mal gelegentlich auch code den ich nicht getestet hab

    schua mal auf die nächste seite. da steht ein code der funktioniert.

    mfg EDH
    ...

  7. #7
    sorry, hab jetzt den code vom ende des threads genommen. muss wohl irgend etwas im clipboard hängen geblieben sein, was da eigentlich nicht mehr stehen sollte. Damit klappt das compilieren jetzt... trotzdem danke!

  8. #8
    hm, jetzt hab ich das programm zwar compiliert und geflasht - aber der Linie folgt mein Asuro trotzdem noch nicht. es kommt mir vor, als wäre die Messung der Reflexion entweder zu langsam oder aber der Asuro zu schnell. Mein Parcour ist auf 4 DinA4-Blättern mit einem dicken schwarzen Edding aufgezeichnet. Das müsste er doch schaffen?!?

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    mhh also bei mir hats funktioniniert
    bist du dir sicher, das deine liniensesoren richtig funktioniern?
    ...

Berechtigungen

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