-
-
Neuer Benutzer
Öfters hier
Asuro soll Hindernisse umfahren - Schulprojekt
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
-
Erfahrener Benutzer
Begeisterter Techniker
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
-
Moderator
Robotik Einstein
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.
-
Erfahrener Benutzer
Roboter Experte
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
-
Neuer Benutzer
Öfters hier
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
-
Moderator
Robotik Einstein
ä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.
-
Neuer Benutzer
Öfters hier
programm schaut jetz so aus
fehlermeldungen sind schon weniger =D>
-
Moderator
Robotik Einstein
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.
-
Neuer Benutzer
Öfters hier
habs verbessert aber komischerweise sind neue fehlermeldungen aufgetreten
-
Erfahrener Benutzer
Roboter Experte
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.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen