erst müssen noch die taster mit StartSwitch() auf Interrupt betrieb geschaltet werden.
sieht gut aus.... kleine korrekturmaßnahmen in rot:
#include "asuro.h"
int main(void)
{
unsigned char ktaster;
int i //Hier fehlt ein Semikolon
Init();
StatusLED(GREEN) // hier fehlt ein semikolon
MotorDir(FWD;FWD); //Zwischen die richtungsangaben kommt ein komma
MotorSpeed(200,200);
while(1){
if(switched==1){
StatusLED(RED);
MotorDir(FWD,RWD);
MotorSpeed(100,100);
for (i=0,i<333,i++); // dieses semikolon muss weg. if(bedingung){aktion}. Ausserdem kommt zwischen startbedingung, endbedingung und i++ ein semikolon und kein komma
{Sleep(255);}
MotorDir(BREAK,BREAK);}
else
{StatusLED(GREEN);}
}
return 0;
}
ansonsten müsste es eigentlich hinhaun...
[edit]habs grad mal getestet... leider fährt asuro nur vorwärts. warum weiss ich grad nich... werd morgem nal schaun.
erst müssen noch die taster mit StartSwitch() auf Interrupt betrieb geschaltet werden.
Ok danke ich hasse diese Tippfehler^^
kommt das StartSwitch() direkt unter Init() ?
du musst es nur vor dem ersten einsatz von switched hinschreiben
der übersichtlichkeit halber wäre es aber direkt unter Init() passend
ok, danke.(ich muss jezt noch 15 zeichen zusammen kriegen)
oh mann... ich hab fast 3 stunden dranne rumgebaut... danke dirZitat von EDH
so in der neuen Version soll der Asuro jezt nachdem er sich gedreht hat in die andere Richtung weiterfahren.
Code:#include "asuro.h" int main(void) { unsigned char ktaster; int i Init(); StatusLED(GREEN) MotorDir(FWD;FWD); MotorSpeed(200,200); while(1){ if(switched==1){ StatusLED(RED); MotorDir(FWD,RWD); MotorSpeed(100,100); for (i=0,i<333,i++); {Sleep(255);} MotorDir(BREAK,BREAK); StatusLED(GREEN); MotorDir(FWD,FWD); MotorSpeed(180,180);} else {StatusLED(GREEN);} } return 0; }
sidn noch n paar fehler drinn
#include "asuro.h"
int main(void)
{
unsigned char ktaster; // brauchst du gar nicht
int i //struchpunkt vergessen
Init();
StatusLED(GREEN) //strichpunkt vergessen
MotorDir(FWD;FWD); //parameter werden duchr ein komma getrennt
MotorSpeed(200,200);
while(1){
if(switched==1){ //schreib einfach switched statt switched==1
StatusLED(RED);
MotorDir(FWD,RWD);
MotorSpeed(100,100);
for (i=0,i<333,i++); //bei for kommen schon strichpunkte hin
{Sleep(255);}
MotorDir(BREAK,BREAK);
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(180,180);}
else
{StatusLED(GREEN);}
}
return 0;
}
so... auserdem hast du StartSwitch() vergessen
bei mir funktioniert das aber trotzdem nicht...
...
hier
for (i=0,i<333,i++); //bei for kommen schon strichpunkte hin
muss ein semikolon weg. ansonsten passiert in der for schleife gar nix.
richtig sieht die zeile so aus:
for(i=0;i<333;i++)
{sleep(255)};
(hinter dem letzten befehl vor einer schliessenden klammer } braucht man kein ; zu setzen.)
wenn du so kurz wie möglich schreiben willst dann so:
for(i=0;i<333;i++) sleep(255);
wenn man nur eine anweisung benötigt, dann braucht man auch keine klammern. =)
gehts jetz?
Lesezeichen