Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo > > Ich habe meinen Roby erst vor kurzem gekauft und wollte nun dass er ein Viereck abfährt und nach jeder > Drehung ein Led an macht. Damit er beim 4. Mal aufhört lasse ich es mit einer For Schleife abfragen. > Doch anstat immer schön der Reihe nach die Schritte durch zu gehen führt er sie wilkürlich aus und > stopt nicht. > > <code> > DEFINE anzahl BYTE[1] > > > > '---------- INIT--------------- > gosub SUBSYS_PWR_ON > beep 368,10,0:pause 50 > '---- SYSTEM OPERATION MODE (NO INTERRUPT) ---- > gosub NO_ACS_INT:beep 368,10,0:SYS ACS_MAX > '------------ ANTRIEB ------------------------- > REV_L=on:REV_R=on:SYS PLM_SLOW > '-------------------------------------------- > '--- WEGSTRECKENZÄHLER --- > '-------------------------------------------- > gosub CLR_DISTANCE:gosub LEDSOFF > > ' mainloop > '---------------------------------------------- > FOR anzahl = 1 TO 4 step 1 > if anzahl=1 THEN gosub led_1 > if anzahl=2 THEN gosub led_2 > if anzahl=3 THEN gosub led_3 > if anzahl=4 THEN gosub led_4 > NEXT > > #led_1 > gosub LED1ON > gosub CLR_DISTANCE > gosub fahren > pause 5:SYS COMNAV_STATUS > SPEED_L=0:SPEED_R=0:SYS FWDR:SYS FWDL > pause 50:SYS COMNAV_STATUS > return > > #led_2 > gosub LED2ON > gosub CLR_DISTANCE > gosub fahren > pause 5:SYS COMNAV_STATUS > SPEED_L=0:SPEED_R=0:SYS FWDR:SYS FWDL > pause 50:SYS COMNAV_STATUS > return > > #led_3 > gosub LED3ON > gosub CLR_DISTANCE > gosub fahren > pause 5:SYS COMNAV_STATUS > SPEED_L=0:SPEED_R=0:SYS FWDR:SYS FWDL > pause 50:SYS COMNAV_STATUS > return > > #led_4 > gosub LED4ON > gosub CLR_DISTANCE > gosub fahren > pause 5:SYS COMNAV_STATUS > SPEED_L=0:SPEED_R=0:SYS FWDR:SYS FWDL > pause 50:SYS COMNAV_STATUS > return > > beep 368,10,0 > goto stop > ' fahren > '----------------------------------------------- > > #fahren > print "fahren" > gosub move_fwd > pause 5:SYS COMNAV_STATUS > gosub L_DISTANCE > print "lbyte="; lbyte > if LBYTE = 20 then gosub drehung else goto fahren > return > > ' stop move_fwd turn > '-------------------------------------------- > #stop > gosub LED4ON:SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0:end > #move_fwd > SYS FWDR:SYS FWDL:SPEED_L=155:SPEED_R=155:return > #turn > SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=155:return > > > ' drehung > '--------------------------------------------- > #drehung > gosub CLR_DISTANCE > gosub turn > > #zähl_loop > pause 5:SYS COMNAV_STATUS > gosub R_DISTANCE > print "links"; lbyte > If lbyte < 10 Then GoTo zähl_loop > return > > </code> > Für mich sieht es so aus als ob ich ein Problem mit der Speicherbelegung hätte und verschiedene Daten > zum Teil überschrieben werden. > Ich hoffe das mir Jemand da weiter helfen kann. Denn ohne eine For Schleife ist man sehr eingeschränkt. > > Greats L33der