-
        

Ergebnis 1 bis 9 von 9

Thema: probleme mit asuro library

  1. #1

    probleme mit asuro library

    Anzeige

    hallo

    ich habe versucht mir die library von sourceforge.net zu installieren, habe aber irgendwie immer probleme damit
    beim compilieren(make) einfachster asuro programme gibts immer folgende fehler meldung:

    Code:
    asuro.c:184: warning: return type defaults to `int'
    asuro.c:184: warning: function declaration isn't a prototype
    asuro.c: In function `SIGNAL':
    asuro.c:188: warning: control reaches end of non-void function
    asuro.c: At top level:
    asuro.c:195: warning: return type defaults to `int'
    asuro.c:195: warning: function declaration isn't a prototype
    asuro.c:195: error: redefinition of `SIGNAL'
    asuro.c:184: error: `SIGNAL' previously defined here
    asuro.c:212: warning: return type defaults to `int'
    asuro.c:212: warning: function declaration isn't a prototype
    asuro.c:212: error: redefinition of `SIGNAL'
    asuro.c:195: error: `SIGNAL' previously defined here
    make: *** [asuro.o] Error 1
    ich möchte eigentlich nur mit hilfe der Encoder_Init funktion den Asuro gerade aus fahren lassen, aber wenn die asuro.c bzw. asuro.h datei fehlerhaft ist weis ich auch nciht was ich machen kann.

    ich vermute mal ich hab bei der installation der library was falsch gemacht

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    01.02.2007
    Ort
    Ashausen
    Alter
    59
    Beiträge
    64
    Hi Schorfo,

    versuche mal im Verzeichnis "...\ASURO_Lib\example\FirstTry\test.c zu übersetzen. Wenn das funktioniert, dann nimm das als Vorlage für eigene Programme. Es kann sein, dass Du die alte asuro.h in deine Programme einbindest, die dann mit der "realen Welt" (neue lib) kollidiert.

    Viel Erfolg...

    Gruß,

    _HP_

  3. #3
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    ein interrupt ist doppelt vorhanden.

    such mal in der asuro.c nach allen zeilen, die mit SIGNAL beginnen und poste die entsprechenden abschnitte hier rein (mit dem code button), dann kannst du evtl einen auskommentieren.
    kleinschreibung ist cool!

  4. #4
    danke für die schnelle hilfe

    die asuro.c bzw. asuro.h habe ich von

    AsuroWiki

    ich vermute mal das mein fehler bei der installation der dateien(wie in der documentation beschrieben) liegt.

    ich habe meine standart asuro.c bzw .h in C:\Asuro_src\FirstTry\
    laut anleitung soll ich die dateien in C:\WinAVR\avr\lib speichern

    die übersetzung mit der .bat datei funktioniert zwar, aber alle asuro programme, die mit der alten asuro.c bzw. asuro.h datei laufen, laufen nicht mehr

    ich programmiere mit dem Programmers Notepad und habe alles so installiert wie in der Asuro anleitung beschrieben.

    wäre nett wenn ihr mir helfen könntet^^

  5. #5
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    was bedeutet "alle alten programme"? die die du vorher geschrieben hast oder wie? oder fertige, die du runtergeladen hast? die fertigen funktionieren teilweise nicht, weil sie einen 72kHz timer erwarten, während in der neuen lib dieser auf 36 kHz eingestellt ist. ausserdem wurde wie gesagt in der neuen lin ein zusätzlicher interrupt hinzugefügt, bei einigen programmen ist dieser dann doppelt was zu problemen führt.
    kleinschreibung ist cool!

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi Schorfo,

    damit sich deinen alten Asuro Programme mit der neuen Asuro Lib übersetzen lassem muß einiges angepaßt werden.


    * alle deine eigenen Programme sollten in der gleichen Verzeichnisebene stehen wie das examples Verzeichnis, damit es mit den Makefiles ohne Änderung funktioniert. Jedes Programm bekommt ein eigenes Unterverzeichnis.
    * asuro.c und asuro.h aus den Projektordnern entfernen, oder umbenennen. Diese werden immer aus dem lib bzw. lib\inc Verzeichnis eingebunden.
    * das vorhandene Makefile durch eines aus dem examples Ordner der neuen Lib ersetzen (z.B. examples\FirstTry\Makefile). Solange alle deine eigenen Projekte nur aus der test.c bestehen, braucht an den Makefiles nichts geändert werden.

    Die Verzeichnisstruktur könnte dann z.B. so aussehen (ausgehend von dem Verzeichnis in dem man die neue Asuro Lib ausgepackt hat):
    examples
    examples\FirstTry
    examples\LineTest
    projects
    projects\MyProgram1
    projects\MyProgram2
    lib
    lib\inc
    Deine eigenen Programme kommen dann ins Verzeichnis projects.
    Wichtig ist, das die Verzeichnistiefe eingehalten wird, da in den Makefiles mit relativen Pfaden gearbeitet wird. Jeweils vom Programmverzeichnis wird 2 Verzeichnisse darunter das lib Verzeichnis erwartet. Dort steht dann die asuro.c, die in jedes Projekt mit eingebunden wird. Unter lib/inc befindet sich auch eine asuro.h. So funktionieren die alten Programme auch weiterhin ohne Anpassung (mit Hochkommas statt eckigen Klammern)
    Code:
    #include "asuro.h"

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.07.2005
    Ort
    18km südl. Lutherstadt Wittenberg
    Alter
    41
    Beiträge
    142
    Hi,

    vielleicht bin ich auch nur zu doof dazu, aber ich kann machen, was ich will, ich erhalte immer diese Fehlermeldung beim make all:

    > "make.exe" all
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=../../lib/asuro.lst ../../lib/asuro.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
    [ -s asuro.d ] || rm -f asuro.d
    0 [main] sh 1376 sync_with_child: child 3760(0x150) died before initialization with status code 0x0
    24787 [main] sh 1376 sync_with_child: *** child state waiting for longjmp
    /usr/bin/sh: fork: Resource temporarily unavailable
    make.exe: *** [asuro.d] Error 128

    > Process Exit Code: 2

    habe die neueste Lib als exe geladen. Beim Installieren meckert sie zwar mal kurz rum, daß winavr nicht installiert wäre, aber auch davon habe ich die neueste verfügbare Version (WinAVR-20050214-install.exe) installiert.
    Habe dann die Lib so wie in der install.txt angegeben in die entsprechenden Verzeichnisse hineinkopiert.
    Habe dann mal versucht einige aus den examples zu compilieren und erhalte jedesmal diese Textmeldungen.

    Grüße Dani.

    edit: ich sehe gerade in dieser Zeile:
    /usr/bin/sh: fork: Resource temporarily unavailable
    ist das nicht das Verzeichnis, wenn man Linux hat? - Ich nutze Vista ultimate64 - muß ich da irgendwo in dem makefile noch was ändern?
    MfG Dani.

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi Dani,

    der Fehler hat wohl nichts mit der Asuro Lib zu tun. Das ist ein Problem zwischen WinAVR und Vista .
    Vielleicht hilft dir einer der folgenden Links weiter:
    http://www.avrfreaks.net/index.php?n...topic&p=315682
    http://www.madwizard.org/extern/winavr-vista/

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.07.2005
    Ort
    18km südl. Lutherstadt Wittenberg
    Alter
    41
    Beiträge
    142
    Hi Marvin,

    Danke für den Hinweis. Ich habe das jetzt alles so gemacht, wie auf madwizzard beschrieben, aber ich erhalte immernoch diese Fehlermeldungen
    Code:
    > "make.exe" all
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=../../lib/asuro.lst ../../lib/asuro.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
    [ -s asuro.d ] || rm -f asuro.d
          0 [main] sh 4264 sync_with_child: child 3356(0x150) died before initialization with status code 0x0
      23170 [main] sh 4264 sync_with_child: *** child state waiting for longjmp
    /usr/bin/sh: fork: Resource temporarily unavailable
    make.exe: *** [asuro.d] Error 128
    
    > Process Exit Code: 2
    MfG Dani.

Berechtigungen

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