-
        

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

Thema: Asuro soll Hindernisse umfahren - Schulprojekt

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2008
    Beiträge
    6

    Asuro soll Hindernisse umfahren - Schulprojekt

    Anzeige

    moin moin

    könnt ihr mir bitte bei einem programm helfen, ist ein schulprojekt

    das programm sollte in etwa so aussehen





    der asuro soll fahren bis er auf ein hindernis stößt dann zurückfahren und das hindernis umfahren

    danke für eure hilfe

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    Du musst wenn du eine Funktion schreibst die keine Parameter übergeben bekommt trotzdem klammern schreiben, in die du dann void schriebst müsste dann z.B bei nachrechts so aussehen:

    void nachrechts (void)
    {...}

    wenn du die Funktion dann aufrufst musst du die Klammern wieder mit aufnehmen sonst erkennt der Compiler nicht, dass das eine Funktion ist.
    Also:

    nachrechts();

    mfg
    Erik

  3. #3
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    1. Bitte aussagekräftige Titel verwenden. (fast) nimand klickt auf "brauche dringend hilfe". ich habe den titel angepasst.

    2. was passiert bei dem programmcode den du gepostet hast? was funktioniert nicht wie es soll? lässt er sich kompilieren oder nicht?

    ein großer fehler fällt mir spontan auf: du schreibst if(x=1||x=2||....). du musst aber schreiben if(x==1||x==2||...).
    ein weiterer großer fehler: du schreibst unten nachlinks und nachrechts. wenn du funktionen aufrufst, müssen die klammern mit: nachrechts(); und nachlinks(); sonst passiert nichts.
    kleinschreibung ist cool!

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Hallo asuronoob.

    1. Bei den beiden Funktionsdeklarationen fehlen die Parameterklammern(), genauso beim aufruf in der main.

    2. in der main steht if(x=32...) - das '=' ist der Zuweisungsoperator, vergleichen tut man mit '=='.

    3. Was soll 'for (int i=0; i<=2;i++)' in den Funktionen oben bewirken? Wenns einfach nur eine Pause sein soll, dann nutze bitte die Funktion _delay_ms() aus der <util/delay.h> oder sowas in der Art. Die Schleife wird vermutlich in weniger als 10 us durchlaufen.

    hoffe ich konnt Dir etwas helfen.

    MfG Mark

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2008
    Beiträge
    6
    danke schonmal

    das programm lässt sich nicht in eine .hex datei umwandeln also mit dem make befehl,

    viele fehlermeldungen mit denen ich nix anfangen kann

    zu drittens
    der asuro soll eine gewisse strecke bzw. zeit rückwärts fahren ca. 2 sekunden
    bevor er eine kurve fährt

  6. #6
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    ändere alles was wir dir oben gesagt haben und probiere es erneut. nun, wennnoch fehlermeldungen kommen, poste diese hier (am besten ebenfalls mit dem code-button). evtl können wir dir dann sagen was die bedeuten.
    kleinschreibung ist cool!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2008
    Beiträge
    6
    programm schaut jetz so aus



    fehlermeldungen sind schon weniger =D>

  8. #8
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    in zeile 5, 10, 18, 23: du kannst in reinem C-code keine variablen in der definition der for-schleife erzeugen. du musst in der zeile davor "int i" schreiben, da das so wie du es gemacht hast strenggenommen nur in C++ erlaubt ist.

    in zeile 7,20 : du hast BWD getippt. vermutlich meinstest du RWD oder FWD.

    in zeile 33: die funktion heisst PollSwitch() und nicht Pollswitch(), was durchaus einen unterschied macht. das musst du an allen stellen wo es verwendet wird ändern.

    in zeile 50 (letzte zeile): jeder c-code sollte mit einer leeren zeile enden. warum das so ist weiss vermutlich niemand so genau, aber es reicht wenn du bis zum ende des programmcodes scrollst und nochmal enter drückst, so dass das letzte zeichen des quellcodes ein zeilenumbruch ist, um die letzte meldung zu unterdrücken.
    kleinschreibung ist cool!

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2008
    Beiträge
    6
    habs verbessert aber komischerweise sind neue fehlermeldungen aufgetreten

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Füg mal in deinem Makefile unter CSTANDARD bzw CFLAGS ein -std=gnu99 zu, dann wirst Du die Fehler mit der Variable in for-Schleife los.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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