PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme beim 1. Programm



bairan
29.12.2006, 11:47
Ich habe mein erstes eigenes Programm geschrieben, für den Asuro doch es gibt mir immer Fehler aus. Da ich noch keine ahnung habe und auch im Buch nachgeschaut habe, kann ich die Fehler nicht Finden kann mir jemand Helfen
?


#include "asuro.h"
int main(void){
unsigned char()
while(1)
if (PollSwitch()==0)
{
MotorDir(FWD,FWD);
MotorSpeed(120,120);
StatusLED(GREEN);
}
else {
MotorSpeed(0,0);
SatusLED(RED);
}
return 0;
}

Downad
29.12.2006, 14:49
schau mal welche klammern auf und zu gehen :)



ein keiner tipp schau dir deine while genau an :)

bairan
29.12.2006, 14:50
Ja habe dann nocheinmal im Buch nachgeschaut dort hatten sie ein ; vergessen jetzt geht alles Trozdem Danke ;)

bairan
29.12.2006, 16:27
Habe nochmal ein Problem.. Mit der Funktion Msleep geht irgendetwas nicht kann mir jemand Helfen pls?

EDDDDITTT:

Also Mit den Klammern habe ich schon alles überprüft. Er fährt auch nur immer Wider in die Wand hinein Da die schleife wider von oben beginnt. Nur Msleep ist das Problem!

Hier die Fehlermeldung: test.c:17: warning: implicit declaration of function `Msleep'



#include "asuro.h"
int main(void){
Init ();
while (1){
if (PollSwitch()==0)
{
MotorDir(RWD,RWD);
MotorSpeed(160,150);
FrontLED(ON);
}
else
{
MotorDir(FWD,FWD);
MotorSpeed(0,100);
BackLED(ON,ON);
}
Msleep(1000);
}
return 0;
}

Asuro-n00b
29.12.2006, 17:25
Hast du es Statt Msleep mal mit nur Sleep versucht?
Ich schreibe auch noch an meinen ersten Programmen und aus der Anleitung habe ich die Sleep Funktion. Außerdem geht der Wert glaub ich nur bis 255. Damit lässt sich aber nur eine Wartezeit von 3,54 ms erreichen. Um die Zeit zu erhöhen kann man eine Schleife verwenden zB so:
for(e=0;e<1000;e++){
Sleep(255);}
Jetzt wartet er 3,54s.

damaltor
29.12.2006, 17:57
die Msleep Funktion ist nur in der erweiterten Lib verfügbar. such mal im forum, und lade dir die dann runter. (Achtung: nicht version 3.0, sondern nur 2.6 runterladen!!!)

bairan
29.12.2006, 21:46
Was ist Lib? das habe ich noch nie gehört :S

bairan
29.12.2006, 21:48
Hast du es Statt Msleep mal mit nur Sleep versucht?
Ich schreibe auch noch an meinen ersten Programmen und aus der Anleitung habe ich die Sleep Funktion. Außerdem geht der Wert glaub ich nur bis 255. Damit lässt sich aber nur eine Wartezeit von 3,54 ms erreichen. Um die Zeit zu erhöhen kann man eine Schleife verwenden zB so:
for(e=0;e<1000;e++){
Sleep(255);}
Jetzt wartet er 3,54s.

Ja mit dieser Schleiffe habe ich schob Warzezeiten zwischen Zwei kreisen Programmiert werde es aber nochmals versuchen. Für das ee muss aber noch eine Variable definiert werden in deinem Beispiel. Ich hatte die Variable nich e sondern i genannt aber danach fuhr der Roboter nich das was ich wollte. Naja ich werds nomals versuchen.

EDH
30.12.2006, 00:34
Was ist Lib?

lib ist die abkürzung für library.

librarys sind einfach gesagt ansammlungen von nützlichen funktionen.
die asuro lib umfasst dabei die funktionen, die in der anleitung beschrieben sind.
genauers fundt man bei google, wikipedia, und co.

damaltor
30.12.2006, 02:52
und man kann anstelle der library (die besteht übrigens aus den dateien asuro.h sowie asuro.c) auch eine andere nutzen, die hier im rn entwickelt wurde. da sind andere und neue funktionen enthalten, wie z.B. Msleep() mit der man einfach eine millisekundenzahl angibt und nicht mehr mit sleep kämpfen muss.

schreib mir eine pn mit deiner email adresse, dann schick ich sie dir.