-         

Ergebnis 1 bis 2 von 2

Thema: For Schleife mit CCRP5 und CCBASIC

  1. #1

    For Schleife mit CCRP5 und CCBASIC

    Anzeige

    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
    Greatings Andreas

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    Du bist im BascomForum !

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •