-         

Ergebnis 1 bis 6 von 6

Thema: Fehler beim erstellen der .hex datei

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2008
    Beiträge
    8

    Fehler beim erstellen der .hex datei

    Anzeige

    hi,
    ich hab ein problem wo ich bis jetzt keine lösung zu gefunden habe. Ich muss dazu sagen das ich ein absoluter anfänger im umgang mit c programmieren bin . also vorweg : habe schreibschutz rausgenommen und neuestes WinAVR installiert ..

    das problem :
    wenn ich den standartcode der test.c (leerer inhalt) von der Asuro CD unverändert lasse und make drücke, kommt kein fehler ... wenn ich den ändere und speicher .. dannn auf make drücke kommt folgendes :

    > "C:\ASURO_src\FirstTry\Test-all.bat"

    C:\ASURO_src\FirstTry>make all
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
    [ -s asuro.d ] || rm -f asuro.d
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
    [ -s test.d ] || rm -f test.d
    -------- begin --------
    avr-gcc --version
    avr-gcc (WinAVR 20080610) 4.3.0
    Copyright (C) 2008 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 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    In file included from asuro.h:34,
    from test.c:1:
    c:/winavr-20080610/lib/gcc/../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
    test.c: In function 'main':
    test.c:5: error: expected ';' before 'MotorDir'
    test.c:9: error: stray '\223' in program
    test.c:9: error: 'Alles' undeclared (first use in this function)
    test.c:9: error: (Each undeclared identifier is reported only once
    test.c:9: error: for each function it appears in.)
    test.c:9: error: expected ')' before 'OK'
    test.c:9: error: stray '\' in program
    test.c:9: error: stray '\224' in program
    test.c:9: error: too few arguments to function 'SerWrite'
    test.c:14: error: stray '\223' in program
    test.c:14: error: 'Aua' undeclared (first use in this function)
    test.c:14: error: expected ')' before '!' token
    test.c:14: error: stray '\' in program
    test.c:14: error: stray '\224' in program
    test.c:14: error: too few arguments to function 'SerWrite'
    make: *** [test.o] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:00

    diesem fehler liegt ein per copy & paste kopierter Code vom handbuch zugrunde .. von daher kein programmier fehler .. :

    #include "asuro.h"

    int main(void) {
    Init ()
    MotorDir(FWD,FWD); // Beide Motoren auf vorwärts
    MotorSpeed(120,120); // Beide Motoren etwa halbe Kraft voraus
    StatusLED(GREEN); // Status-Leuchtdiode auf grün schalten
    while (PollSwitch()==0) { // Solange keine Kollision erfolgte...
    SerWrite(“Alles OK!\n”,10); // ... Euphorie verbreiten
    }
    MotorSpeed(0,0); // Kollision! Sofort anhalten!
    StatusLED(RED); // Statusleuchtdiode rot schalten
    while (1) {
    SerWrite(“Aua!\n”,5); // und weinen!
    }
    }


    bitte helft mir

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hi,
    mit dem:
    Code:
    test.c:5: error: expected ';' before 'MotorDir'
    will er mitteilen, daß vor dem MotorDir ein ; gehört, man könnte auch sagen eine Zeile zuvor geht der ab.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2008
    Beiträge
    8
    hab nen ; mal davor gesetzt ... klappt nicht .. gleicher fehler

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    In SerWrite (Zeile 9 und 14) müssen die Zeichenketten zwischen normalen Anführungszeichen (auf der 2-Taste) stehen. Also nicht

    SerWrite(“Alles OK!\n”,10); // ... Euphorie verbreiten

    sondern

    SerWrite("Alles OK!\n",10); // ... Euphorie verbreiten

    In Zeile 4 fehlt das ;

    Init();

    [Edit]
    In der Datei asuro.h muss folgendes geändert werden:
    Code:
    #include <avr/io.h>
    #include <avr/interrupt.h>
    //#include <avr/signal.h>
    #include <stdlib.h>
    signal.h ist veraltet und sollte durch interrupt.h ersetzt werden.

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

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2008
    Beiträge
    8
    vielen dank für die schnelle und kompetente antwort !!!!

    es klappt unglaublich !!!

    dann is ja nen fehler im Asuro handbuch !!!

  6. #6
    da sind einige drinnen

Berechtigungen

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