For Schleife mit CCRP5 und CCBASIC Kategorie: Programmierung (von L33der - 12.01.2006 12:24) | ||
| ||
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. 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 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 | ||
Antwort schreiben Antworten: Re: For Schleife mit CCRP5 und CCBASIC (von Rene Forster - 12.01.2006 18:27) |