Hallo,
probier mal
sonst kommt das Programm nie in die While Schleife.Code:while (v<=255){
Mein Asur soll stufenlos von 0-255 beschleunigen. Dazu habe ich dieses Programm geschriebenAber mein Asuro macht garnichts.Code:#include "asuro.h" int main(void){ Init(); int v; int d; v=1; while(v==255){ MotorDir(FWD,FWD); MotorSpeed(v,v); for(d=0;d<70;d++){ Sleep(255); v=v+1; } } return 0; }
Worann liegt das? Kann ich MotorSpeed(v,v); schreiben? Und wenn nich wie muss ich es dann schreiben?
[schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]
Hallo,
probier mal
sonst kommt das Programm nie in die While Schleife.Code:while (v<=255){
Hallo
-while(v==255) müsste while(v<255) heisen.
-int v sollte ein unsigned char sein
-for return(0) sollte ein while(1) sein
-Sleep()-Schleife zu lang
GrußCode:#include "asuro.h" int main(void){ Init(); unsigned char v; int d; v=50; MotorDir(FWD,FWD); while(v<255){ MotorSpeed(v,v); v++; if (v & 8) StatusLED(RED); else StatusLED(YELLOW); for(d=0;d<5;d++){ Sleep(255); } } while(v>0){ v--; MotorSpeed(v,v); if (v & 8) StatusLED(RED); else StatusLED(YELLOW); for(d=0;d<5;d++){ Sleep(255); } } StatusLED(GREEN); while(1); return 0; }
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
warum sleepschleife zu lang? 255 ist doch ok... hab ich was übersehen?
Ich habe das Programm gerade getestet und die for Schleife ist definitif zu kurz. Denn mein Asuro beschleunigt bremmst, Beschleunigt und bremmst und das jede Sekunde(Zeitangabe ist geschätzt). Also sollte ich die schleife größer und nicht kleiner machen
[schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]
dene daan dass 255 der maximalwert für sleep ist.
Hallo
Bei 70 in der Zählschleife hat es bei mir ewig gedauert bis er merklich beschleunigt, 5 ist erträglich. Ich verwende allerdings den neueren 36kHz-Takt, bei der orginalen Lib müssten es wohl 10 sein:
for(d=0;d<10;d++){
Sleep(255);
}
Bei meinem Beispiel sollte er nur einmal beschleunigen und wieder abbremsen und dann mit grüner StatusLED endlos warten. Mein asuro macht das auch so.Beschleunigt und bremst und das jede Sekunde
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ich denke daran. Ich setze Sleep immer in eine for schleife das es so aussieht:Code:for(d= ;d<????;d++){ Sleep(255); }
[schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]
ich denke du meintest
for(d=0;d<????;d++){
oder?
Simmt das meinte ich nur al ich das eingetippt habe ist ein Smilie erschien. deswegen habe ich das so geschrieben (dachte es würde niemanden auffallen).
[schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]
Lesezeichen