-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Kann test.c nicht speichern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    08.09.2006
    Beiträge
    11

    Kann test.c nicht speichern

    Anzeige

    Hallo miteinander

    Ich habe alle Tests mit dem Asuro erfolgreich beendet und versuchte nun das Programm zu flashen, wo die Status-LED rot leuchten sollte.
    Wenn ich jetzt die test.c Datei öffne, den korrekten Quellcode "reinkopiere" und danach auf make gehe und anschliessend flashe, funktioniert zwar das compillieren und das flashen, allerdings bleibt die Stautsled grün...

    Wenn ich vor dem compillieren die test.c speichere, also die vorhandene überschreibe, und danach versuche zu compillieren geht dass nicht... es kommt folgendes:

    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
    test.c:1:10: error: #include expects "FILENAME" or <FILENAME>
    test.c: In function 'main':
    test.c:3: warning: implicit declaration of function 'Init'
    test.c:4: warning: implicit declaration of function 'StatusLED'
    test.c:4: error: 'RED' undeclared (first use in this function)
    test.c:4: error: (Each undeclared identifier is reported only once
    test.c:4: error: for each function it appears in.)
    test.c:7:2: warning: no newline at end of file
    make: *** [test.o] Error 1

    > Process Exit Code: 2


    Das mit dem compillieren mit der make (gemacht laut anleitung) funktioniert also nur, wenn ich die Datei test.c nicht speichere...leider habe kann ich so aber auch kein neues Programm draufladen.

    Freue mich sehr über eine Antwort.


    Danke


    Duronus

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2007
    Ort
    Nähe Leipzig
    Alter
    45
    Beiträge
    22
    Hallo,
    die test.c hast du doch sicher von der CD auf deine Festplatte kopiert. Dort mußt du sie nun noch beschreibbar machen. Rechts anklicken, Eigenschaften und dort den Haken bei "schreibgeschützt" rausmachen.

    Grüße
    duc750

    edit: Hab dein Posting nochmal genau gelesen. Hast du vielleicht beim "reinkopieren" irgendwas vom Quelltext vergessen?
    \"Der wohl praktischste und dramatischste Sieg der Wissenschaft über die Religion ereignete sich im 17. Jahrhundert, als die ersten Kirchen Blitzableiter bekommen haben.\" (Isaac Asimov)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.09.2006
    Beiträge
    11
    Danke für die schnelle Antwort

    Doch ich konnte die Datei test.c ja überschreiben, nur ging nachher das compillieren nicht mehr..

    Habe jetzt auch nochmals nachgeschaut und die test.c war nicht schreibgeschützt...

    Danke

    Duronus

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2007
    Ort
    Nähe Leipzig
    Alter
    45
    Beiträge
    22
    Hallo,
    habe oben nochmal was eingetragen.
    Schau doch noch mal danach.
    duc750
    \"Der wohl praktischste und dramatischste Sieg der Wissenschaft über die Religion ereignete sich im 17. Jahrhundert, als die ersten Kirchen Blitzableiter bekommen haben.\" (Isaac Asimov)

  5. #5
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    das klingt sehr danach als wenn die erste zeile fehlen würde... die beginnt meist mit einem "#"

    =)
    kleinschreibung ist cool!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    08.09.2006
    Beiträge
    11
    Jetzt hat es soeben funktioniert

    Ich habe jetzt nur die Zeile reinkopiert die tatsächlich verändert wurde und den Rest so gelassen wie er war.

    Dann ging es...

    Danke für deine Hilfe

    Duronus

    /edit/ Der Fehler ist glaub ich in der Anleitung: Da steht folgendes:

    #include “asuro.h”
    int main(void) {
    Init();
    StatusLED(RED);
    while(1);
    return 0;
    }

    Wenn ich das reinkopiere funktioniert es nicht, ich denke es liegt an der Klammer nach (void), die eckige.

    /edit/

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2007
    Ort
    Nähe Leipzig
    Alter
    45
    Beiträge
    22
    ..na alles bestens
    Viel Spass weiterhin!
    duc750
    \"Der wohl praktischste und dramatischste Sieg der Wissenschaft über die Religion ereignete sich im 17. Jahrhundert, als die ersten Kirchen Blitzableiter bekommen haben.\" (Isaac Asimov)

  8. #8
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    nein an der klammer liegt es nicht, diese ist sogar notwendig. =)

    nach void (evtl auch in der nächsten zeile) muss mit { der beginn der funktion main angezeigt werden. am ende des programms steht dann, um die funktion zu beenden, }.

    die erste zeile hat gefehlt, bzw. war nicht ganz richtig:

    wenn in den programmen der anleitung ein " steht (doppelte anführungszeichen), dann wird das durch das kopieren unbrauchbar. das heisst, du musst entweder abtippen, oder rauskopieren und dann alle " neu tippen. der fehler ist bekannt und wurde schon oft gemacht, bei jedem der angefangen hat die programme zu kopieren =)

    warum das so ist kann ich dir gar nicht sagen, aber auf jeden fall müssen nach dem rauskopieren alle " neu gemacht werden.
    kleinschreibung ist cool!

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    08.09.2006
    Beiträge
    11
    Danke für die Antwort

    Doch bei einem anderen Beispielprogramm aus der Anleitung habe ich das gleiche Problem...

    Durch das Anführungszeichen neu setzen, wird es leider auch nicht gelöst.
    Habe auch schon das ganze abgetippt und es funktionierte nicht...

    #include “asuro.h”
    int main(void) {
    Init ()
    while (1) {
    if (PollSwitch()>0) {StatusLED (RED);}
    else {StatusLED (GREEN);}
    }
    }

    Kannst du mir sagen wo das der Fehler ist?

    Vielen Dank

    Duronus

  10. #10
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    hinter init() die klammern müssen direkt ran an das wortm und das semikolon fehlt

    falsch: Init ()
    richtig: Init();
    kleinschreibung ist cool!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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