- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Fehler des Compilers? / LIB? oder sonst was.

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2004
    Beiträge
    206

    Fehler des Compilers? / LIB? oder sonst was.

    Anzeige

    Praxistest und DIY Projekte
    hallo,
    ich sitze hier mit meinem asuro. und dieser macht merkwürdige dinge.
    in einem programm in dem nicht ein mal die reder von der front-led ist macht er diese an. ein anderes mal läuft nur ein motor an, oder das programm startet nur teile von sich selbst.
    auch kommt es vor, daß er zwar anfährt, aber auf die taster nicht mehr reagiert. oder er fährt und reagiert auf taster, dann fährt er rückwarts wie gesünscht, und dann nie wieder nach vorne.

    könnte es sein, daß ich einen bug im compiler habe?
    ist da jemanden etwas bekannt?

    problem:
    ich verwende LINUX. und dazu die avr-compiler und tools.
    also GCC

    meldung des compilers:
    avr-gcc --version
    avr-gcc (GCC) 4.2.1


    und das bekomme ich außerdem. kennt sich einer aus? was meckert er da eigentlich an???


    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-
    struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o tes
    t.o
    In file included from asuro.h:34,
    from test.c:9: ---------------------- hier mecker er
    /usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/signal.h:36:2: warning: #warn
    ing "This header file is obsolete. Use <avr/interrupt.h>."
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-
    struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o a
    suro.o
    In file included from asuro.h:34,
    from asuro.c:29: ---------------------- ... und hier mecker er
    /usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/signal.h:36:2: warning: #warn
    ing "This header file is obsolete. Use <avr/interrupt.h>."
    avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-str uct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o - -output test.elf -Wl,-Map=test.map,--cref -lm
    avr-objcopy -O ihex -R .eeprom test.elf test.hex
    avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
    --change-section-lma .eeprom=0 -O ihex test.elf test.eep
    avr-objcopy: there are no sections to be copied!
    avr-objcopy: --change-section-lma .eeprom=0x00000000 nie benutzt
    make: [test.eep] Fehler 1 (ignoriert)
    avr-objdump -h -S test.elf > test.lss



    für antworten bin ich sehr dankbar

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063

    Re: Fehler des Compilers? / LIB? oder sonst was.

    Zitat Zitat von raptor_79
    problem:
    ich verwende LINUX. und dazu die avr-compiler und tools.
    also GCC
    das ist kein problem. geht bei mir auch.

    die beiden warnings sind nicht so schlimm, sie weisen darauf hin das ein veraltetes, aber immer noch funktionierendes header-file included wurde.

    bitte zeige uns deinen quelltext, dann können wir weiter sehen.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  3. #3
    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

    Ich habe meine asuro.h so geändert:
    Code:
    #include <avr/io.h>
    #include <avr/interrupt.h>
    //#include <avr/signal.h>
    #include <stdlib.h>
    signal.h ist veraltet und sollte nicht verwendet werden.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2004
    Beiträge
    206
    ah! danke wegen der meldung erst mal.


    quelltext? bitte sehr.

    ich muß mal dazu sagen, daß ich mit asuro und C gerade erst angefangen habe. genauer gesagt. gestern.

    Code:
    #include "asuro.h"
    int main(void){
    
    
    	Init();
    
    //----- Auf "Null" setzen -------
    	MotorDir(FWD,FWD);
    	MotorSpeed(0,0);
    	BackLED(OFF,OFF);
    	StatusLED(OFF);
    
    //------- Programmschleife -------- 
    	while (1){
    		if (PollSwitch()>0) {
    		MotorSpeed(0,0);
    		StatusLED(RED);
    		MotorDir(RWD,RWD);
    		MotorSpeed(90,90);
    		}
    
    else  {
    
    //------ Kein Hindernis -------
    	StatusLED(GREEN);
    	MotorDir(FWD,FWD);
    	MotorSpeed(120,120);
    
    	
    }
    }
    while (1);
    return 0;
    
    }
    hoffe, daß ich da keinen sch*** gemacht habe.

    außerdem hab ich dieses kleine "programm" genommen und alles mögliche damit versucht. mal so mal so... wurde aber nicht besser.


    und danke für eure schnellen antworten!!!!
    super!

  5. #5
    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

    Mit diesem Befehl

    #include "asuro.h"

    wird die Datei asuro.h in dein Programm eingebunden. In asuro.h wiederrum steht folgendes:

    #include <avr/signal.h>

    In signal.h befinden sich die C-Funktionen für die Interruptverarbeitung. Es gibt aber eine neuere Version "interrupt.h" die "signal.h" ersetzen soll. Darauf weist der Kompiler in seiner Meldung hin.

    Noch zu deinem Programm: Jeder fängt mal an. PollSwich() liefert gelegentlich auch Werte >0 wenn keine Taste gedrückt ist. Vermutlich wird dein asuro am Schaltpunkt des Tasters vor und zurück zappeln

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    das kleine problem wird sein, dass folgendes passiert:

    der asuro fährt gegen eine wand. der prozessor merkt das sofort und fährt rückwärts, bis die taster gerade wieder losgelassen wurden (er fährt also nur ein paar millimeter zucück). sowie die taster frei sind, will er wieder vorwärts fahren. und so geht es immer weiter, er steht also an der wand und zittert vor sich hin. du brauchst eine verzögerung, damit eri eine bewstimmte zeit lang rückwärts fährt.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2004
    Beiträge
    206
    ja, tut er, wenn das mal funktioniert.
    soll er ja auch.
    nur, DAS mancht er nicht immer. er macht eben oft dinge, die er NICHT machen soll, oder er macht gar nichts.
    das mit dem vor/zurück ist eben nur die basis des programms, bzw, das was davon jetzt noch übrig ist, nach dem ich den ganzen anderen mist wie odometrie und so rausgeworfen habe. ich will jetzt im programm auch nur noch wissen, ob IRGEND ein taster gedrückt ist, und nicht welcher.

    trotzdem kommt es vor., das er die frontLED anmacht, oder die BackLED nicht aus machen, oder nur der rechte/linke motor drecht, oder er dann nur noch zurück fährt.
    das ist das problem.

    aber danke für deine antwort!!

  8. #8
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    das klingt aber eher wie ein wackelkontakt.... sieh mal nach ob der prozessor wirklich fest in seiner fassung drin ist, und ob keine kalten lötstellen exisitieren. probiere ein paar einfache programme aus, die nur testen sollen ob die frontled richtig reagiert.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2004
    Beiträge
    206
    ja, hab alles schon nachgesehen. und mit reiniger gabeschrubbt. (mach sowas auch beruflich). die hardware passt schon, sicher.
    hat einer mal ein kleines programm, oder kann einer obigen code mal an seinem testen? oder besser mir mla ein hex-file schicken, daß er mit meinem code und seinem compiler erzeugt hat? würd gern mal vergleichen.

  10. #10
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    Hier ist dein obiges programm, kompiliert mit avr-gcc 4.10 unter linux.
    Angehängte Dateien Angehängte Dateien
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad