- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Asuro Go/Turn

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    25.12.2011
    Ort
    Deutschland BadenWürttemberg
    Beiträge
    43
    Anzeige

    Praxistest und DIY Projekte
    Danke,
    jetzt weiss ich wass du meinst, und ich habs genaus so gemacht, aber dann kommen nurnoch mehr Fehler.
    Der Code aus asuro .c:
    Code:
    #else
      UBRRH = (((8000000/2400)/16)-1)>>8; // set baud rate
      UBRRL = (((8000000/2400)/16)-1);
      UCSRB = (1<<RXEN)|(1<<TXEN);  // enable Rx & Tx
      UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);  // config USART; 8N1
    #endif
    Das führt zu diesen Fehlern:
    test.o: In function `main':
    C:\Users\Grau\Desktop\Asuro/test.c:8: undefined reference to `EncoderInit'
    C:\Users\Grau\Desktop\Asuro/test.c:10: undefined reference to `GoTurn'
    C:\Users\Grau\Desktop\Asuro/test.c:11: undefined reference to `GoTurn'
    asuro.o: In function `__vector_4':
    C:\Users\Grau\Desktop\Asuro/asuro.c:225: undefined reference to `count36kHz'
    C:\Users\Grau\Desktop\Asuro/asuro.c:225: undefined reference to `count36kHz'
    C:\Users\Grau\Desktop\Asuro/asuro.c:226: undefined reference to `count36kHz'
    C:\Users\Grau\Desktop\Asuro/asuro.c:227: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:227: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:227: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:227: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:227: undefined reference to `timebase'
    asuro.o:C:\Users\Grau\Desktop\Asuro/asuro.c:227: more undefined references to `timebase' follow
    asuro.o: In function `__vector_4':
    C:\Users\Grau\Desktop\Asuro/asuro.c:228: undefined reference to `Ovr2IntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:228: undefined reference to `Ovr2IntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:229: undefined reference to `Ovr2IntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:229: undefined reference to `Ovr2IntFunc'
    asuro.o: In function `__vector_3':
    C:\Users\Grau\Desktop\Asuro/asuro.c:242: undefined reference to `count36kHz'
    C:\Users\Grau\Desktop\Asuro/asuro.c:242: undefined reference to `count36kHz'
    C:\Users\Grau\Desktop\Asuro/asuro.c:243: undefined reference to `count36kHz'
    C:\Users\Grau\Desktop\Asuro/asuro.c:244: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:244: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:244: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:244: undefined reference to `timebase'
    C:\Users\Grau\Desktop\Asuro/asuro.c:244: undefined reference to `timebase'
    asuro.o:C:\Users\Grau\Desktop\Asuro/asuro.c:244: more undefined references to `timebase' follow
    asuro.o: In function `__vector_2':
    C:\Users\Grau\Desktop\Asuro/asuro.c:269: undefined reference to `switched'
    C:\Users\Grau\Desktop\Asuro/asuro.c:269: undefined reference to `switched'
    asuro.o: In function `__vector_14':
    C:\Users\Grau\Desktop\Asuro/asuro.c:303: undefined reference to `AdcIntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:303: undefined reference to `AdcIntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:304: undefined reference to `AdcIntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:304: undefined reference to `AdcIntFunc'
    asuro.o: In function `Init':
    C:\Users\Grau\Desktop\Asuro/asuro.c:181: undefined reference to `FrontLED'
    C:\Users\Grau\Desktop\Asuro/asuro.c:182: undefined reference to `BackLED'
    C:\Users\Grau\Desktop\Asuro/asuro.c:183: undefined reference to `BackLED'
    C:\Users\Grau\Desktop\Asuro/asuro.c:184: undefined reference to `StatusLED'
    C:\Users\Grau\Desktop\Asuro/asuro.c:186: undefined reference to `MotorDir'
    C:\Users\Grau\Desktop\Asuro/asuro.c:187: undefined reference to `MotorSpeed'
    C:\Users\Grau\Desktop\Asuro/asuro.c:189: undefined reference to `autoencode'
    C:\Users\Grau\Desktop\Asuro/asuro.c:189: undefined reference to `autoencode'
    C:\Users\Grau\Desktop\Asuro/asuro.c:191: undefined reference to `Ovr2IntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:191: undefined reference to `Ovr2IntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:192: undefined reference to `AdcIntFunc'
    C:\Users\Grau\Desktop\Asuro/asuro.c:192: undefined reference to `AdcIntFunc'
    Danke für die Gedult

  2. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Nur keine Panik. Das F-CPU-Problem betraf den Preprocessor der vor dem Kompilieren die #defines ersetzt. Das scheint jetzt funktioniert zu haben, denn nun wird versucht, das C-Programm in die Maschinensprache der AVRs zu übersetzen. Dabei "merkt" der Kompiler, dass er für einige Funktionen die Definitionen nicht findet: "undefined reference to"

    Das passiert, wenn asuro.c nicht gefunden wurde. Die Meldung dazu sollte etwa so aussehen: "temp.c:5:20: error: asuro.h: No such file or directory" Aber das erscheint ja bei dir offensichtlich nicht. Hier kann ich nun wirklich nur raten: Du includest die Datei asuro.h mit "", für die aktuelle Library muss man sie aber mit <> einbinden (""= im selben Verzeichniss wie der Quellcode des Programms, <> im GCC-Pfad) Das ist aber eher geraten als gewußt, denn ich verwende Version 2.3 der Lib.

    Gruß

    mic


    [Edit]
    Das count36kHz nicht gefunden wird zeigt, dass wirklich die orginale CD-Library eingebunden wurde. Ab Version 2.3, und deshalb auch in der aktuellen Lib, ist count36kHz bekannt.
    Geändert von radbruch (10.06.2012 um 17:53 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    25.12.2011
    Ort
    Deutschland BadenWürttemberg
    Beiträge
    43
    Hi,
    danke erstmal, ich hab das mit <> ausprobiert, doch leider verändert sich nichts. Aber ich denke muss muss eine einfachere Lösung geben, bei anderen funktioniert es ja auch, vielleicht könnte es helfen eine andere Version der Lib zu benutzen.
    Für weitere Tipps wäre ich dankbar.

    Danke
    Mfg

  4. #14
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    ...vielleicht könnte es helfen eine andere Version der Lib zu benutzen.
    Nicht wirklich. Wenn du Go() oder Turn() und die anderen Errungenschaften der aktuellen Library nutzen willst, dann ist die aktuelle Version 2.8 die erste Wahl.

    bei anderen funktioniert es ja auch
    , wenn auch nicht immer auf Anhieb. Der große Unterschied ist der Speicherort der Libraries. Bis ca. Version 2.6(?) bestand die Library lediglich aus den Dateien asuro.h und asuro.c die im Verzeichniss des Quellcodes abgelegt und mit "" eingebunden wurden. Die aktuelle Library wird nun im WinAVR-Bereich angelegt und über den Pfad gefunden, weil sie mit <> eingebunden wird. Wenn der Pfad nicht stimmt, wird diese Lib nicht gefunden und deshalb deren Funktionen auch nicht eingebunden. Erschwerend kommt noch dazu, dass die aktuelle Lib schon vorkompiliert ist und nicht der Quellcode sondern nur die Objektdateien eingebunden werden (oder so ähnlich):

    https://www.roboternetz.de/community...ieb-genommen-3

    Gruß

    mic
    Geändert von radbruch (12.06.2012 um 07:45 Uhr) Grund: Rechtschreibung
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von µcFlo Beitrag anzeigen
    Hi,


    danke erstmal, ich hab das mit <> ausprobiert, doch leider verändert sich nichts. Aber ich denke muss muss eine einfachere Lösung geben, bei anderen funktioniert es ja auch, vielleicht könnte es helfen eine andere Version der Lib zu benutzen.
    Für weitere Tipps wäre ich dankbar.

    Danke
    Mfg
    Bist du angefangen mit einer Kopie zu machen von der Beispiel FirstTry Ordner?

    \AsuroLib-v280rc1\examples\FirstTry

    Dort drin in dem Makefile soll nur die LIBPATH zeile angepasst werden.

    In das Kopie der FirstTry ordner, in dem Datei Test.c, kannst du dann deine Code hinnein fügen:

    Code:
    /***************************************************************************
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   any later version.                                                    *
     ***************************************************************************/
    
    #include "asuro.h"
    
    int main(void)
    {
      Init();
    
     EncoderInit ();
       while(1) {
           Go (200, 150);
           Turn (90, 150); 
        }
     
      while (1);
      return 0;
    }

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    25.12.2011
    Ort
    Deutschland BadenWürttemberg
    Beiträge
    43
    Hallo,
    und danke. Es gab leider auch dieses mal wider einen Fehler, aber es diesem mal glaube ich ein Problem mit dem Makefile:
    c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe: cannot find -lasuro


    Danke
    Mfg Florian

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Wie genau ist deine LIBPATH eingestellt? Es muss genau das Pfad der lib Ordner wissen. Dazu muss es auch mit / geschrieben werden, sonnst wird es nicht kapieren. Leider gibt Windows die Pfaden mit \ drin. Also muss man das wechseln.

    Wie meine LIBPATH:

    LIBPATH = D:/KEEPFILES/HOBBY/Asuro_files/Asurolib/v280rc1/lib
    Geändert von Valen (16.06.2012 um 13:18 Uhr)

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    25.12.2011
    Ort
    Deutschland BadenWürttemberg
    Beiträge
    43
    OH, ich hab es jetzt einfach nochmal probiert und jetzt funktioniert es tatsächlich.
    Endlich nach Tagen funktioniert es!!!! Danke an alle die mir geholfen haben.

    Mfg Florian

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. It's your turn - CDBOT
    Von jo_robot im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 08.03.2009, 20:44
  2. Go und Turn funkitionieren nicht..
    Von Flario im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 07.08.2008, 01:30
  3. Go(); und Turn();
    Von m1ch15inner im Forum Asuro
    Antworten: 21
    Letzter Beitrag: 08.04.2007, 23:11
  4. Turn-Funktion lässt ASURO endlos drehen
    Von derNetteEddy im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 20.10.2006, 18:59
  5. Turn/ Go Funktion
    Von Bad Bear im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 28.06.2006, 22:11

Stichworte

Berechtigungen

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

12V Akku bauen