Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierhilfe
asuromatze
15.02.2007, 16:48
Ich habe mir vor kurzem einen Asuro gekauft. Nun würde ich sehr gerne wissen, wie man Programme dafür schreibt (z.B dass er eine bestimmte strecke vorwärts fährt, dann dreht und wieder zurückfährt). Ich würde mich sehr freuen, wenn ihr gleich ein passendes Beispielprogramm hier reinschreibt.
Der wohl am meist gesagte satz in diesem Forum ist wohl: copy+paste bringt nix. Da is wohl auch was dran ich würd mir einfach mal die Anleitung durchlesen und wenn du dann fragen hast was wohl unausweichlich ist wenn man vorher keinerlei erfahrung mit C hatte kannste immer noch Fragen.
asuromatze
28.02.2007, 15:57
ich wüsste gerne, warum das programm nicht funktioniert:
#include "asuro.h"
int main(void){
Init();
if (PollSwitch()>0){goto stop;}
else {goto ok;}
int stop(void){
SerWrite("Hindernis!\n",10);
MotorDir(FREE,FREE);
MotorSpeed(0,0);
goto ende;
return 0;
}
int ok(void){
SerWrite("Kein Hindernis!\n",15);
MotorDir(FWD,FWD);
MotorSpeed(200,200);
goto main;
return 0;
}
int ende(void){
MotorDir(FREE,FREE);
MotorSpeed(0,0);
return 0;
}
}
damaltor
01.03.2007, 15:52
was ist goto? das benötigst du nicht.
du meinst wahrscheinlich ende.
goto main brauchst du gar nicht - wenn unterfunktionen abgeschlossen sind, wird an der entsprechenden stelle in der main funktion weiter gemacht.
wenn du eine funktion definieren willst, dann muss das AUSSERHALB und VOR der main funktion passieren. folgerndermassen:
int funktion1(void)
{
...
}
int funktion2(void)
{
...
}
int main(void)
{
...
...
funktion1();
...
...
funktion2();
...
}
asuromatze
01.03.2007, 22:00
gibt es keinen befehl, mit dem ich von einem programmteil in ein anderes programmteil komme? ich dachte, dass geht mit "goto".
damaltor
02.03.2007, 15:12
also goto gibt es schon - allerdings normalerweise in basic. benutze lieber funktionen, das ist eleganter, einfacher und übersichtlicher.
asuromatze
02.03.2007, 21:55
und wie würde das dann in meinem programm aussehen?
Hi
das sind jetzt nur prototypen die noch verbesserungsfähig sind.
man könnte ihn zum beispiel nach einer zeit ausschalten oder ihn gerade fahren lassen. das überschreitet alerdings mein können da ich noch ein anfänger bin. :-k
#include "asuro.h"
int stop(void)
{
SerWrite("Hindernis!\n",10);
MotorDir(FREE,FREE);
MotorSpeed(0,0);
return 0;
}
int go(void)
{
SerWrite("Kein Hindernis!\n",15);
MotorDir(FWD,FWD);
MotorSpeed(200,200);
return 0;
}
int main(void)
{
Init();
while(1)
{
if(PollSwitch()>0)
{
stop();
}
else
{
go();
}
}
while(1);
return 0;
}
#include "asuro.h"
int main(void)
{
Init();
while(1)
{
if(PollSwitch()>0)
{
SerWrite("Hindernis!\n",10);
MotorDir(FREE,FREE);
MotorSpeed(0,0);
}
else
{
SerWrite("Kein Hindernis!\n",15);
MotorDir(FWD,FWD);
MotorSpeed(200,200);
}
}
while(1);
return 0;
}
Sulo
asuromatze
03.03.2007, 17:51
jetzt funktionierts so wie ich es wollte. vielen dank für deine hilfe!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.