Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: CCRP5 Conrad Robby5 mit CC1-Unit Kategorie: Programmierung Basic (von Windt H.J. - 14.01.2006 18:04)
 Als Antwort auf CCRP5 Conrad Robby5 mit CC1-Unit von L33der - 12.01.2006 19:26
Hello,
Maybe THIS LINK can help you out with your problem.
Greetings
H.J. Windt


> Hallo
>
> Ich hoffe das ich nun das richtige Forum gefunden habe.
> 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

Bisherige Antworten: