-         

Ergebnis 1 bis 7 von 7

Thema: Do Loop

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2004
    Beiträge
    13

    Do Loop

    Anzeige

    Hallo ich habe ein Frage zur do-loop funktion und zwar möchte ich z.B. eine Led 10x blinken lassen. Ich weiß das ich das mit der do loop funktion machen kann. Habe mir auch im index was dazu durchgelesen kann es aber nicht wirklich realisieren.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Schick doch mal deinen Code, dann können wir dir sicher helfen.
    Mit do loop wiederholst du aber dauerhaft und nicht nur ein oder 2 (10) mal.
    Poste einfach mal deinen Code.

    MFG Moritz

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2004
    Beiträge
    13
    in der hilfe habe ich das so verstanden das mann auch eine bestimmte anzahl wiederholen kann, dauerhaft kriege ich hin. Welche Funktion brauch ich für bestimmte Zeiträume (Wiederholungen)?

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    51
    Beiträge
    298
    Hallo christian87,

    Probier doch mal folgendes:
    DIM I As Byte
    For I = 1 to 10

    'Hier steht Dein Code

    Next I

    Im ersten Durchlauf ist I=1 und wird bei jedem Next I um 1 erhöht, solange bis I = 10 ist.
    Danach wird die Schleife verlassen und mit den befehlen nach NExt I weitergemacht.

    Gruß
    m.artmann

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2004
    Beiträge
    13
    Hallo,
    danke für die Hilfe hat super geklappt.
    Ich hab jetzt mal den Schrittmotor von Robotikhardware angesteuert und benutze folgendes Programm:

    Code:
    '##################################### 
    'Schrittmotoransteuerung an RN-Control 
    'Art= Vollschritt bipolar 
    '##################################### 
    
    
    $regfile = "m32def.dat"                                     'controller definieren 
    $crystal = 16000000                                         'Taktfrequenz definieren 
    
    Config Portb = Output                                       'Port als "Ausgang" definieren 
    Config Portc = Output 
    Config Portd = Output 
    
    1a Alias Portb.0                                            'Pin als Spule 1a benennen 
    1b Alias Portb.1                                            'Spule 1b 
    
    2a Alias Portc.6                                            'Spule 2a 
    2b Alias Portc.7                                            'Spule 2b 
    
    
    Portb.0 = 0                                                 'Spule 1a definiert auf Null 
    Portb.1 = 0                                                 'Spule 1b 
    
    Portc.6 = 0                                                 'Spule 2a 
    Portc.7 = 0                                                 'Spule 2b 
    
    Portd.4 = 1                                                 'Motortreiber Spule 1 Enable 
    Portd.5 = 1                                                 'Motortreiber Spule 2 Enable 
    
    
    Dim Zeit As Byte 
    
    Zeit = 2                                                   'Zeit zwischen den einzelnen Schritten (kleiner=schneller) 
                                                                                                                            ' 
    Do                                                          'Schleife beginnen (Vollschritt) 
    1a = 1 : 1b = 0 : 2a = 1 : 2b = 0                           'Schritt 1 
    Waitms Zeit 
    1a = 1 : 1b = 0 : 2a = 0 : 2b = 1                           'Schritt 2 
    Waitms Zeit 
    1a = 0 : 1b = 1 : 2a = 0 : 2b = 1                           'Schritt 3 
    Waitms Zeit 
    1a = 0 : 1b = 1 : 2a = 1 : 2b = 0                           'Schritt 4 
    Waitms Zeit 
    Loop                                                                    'wiederhole Schleife[[/quote]

    Mein Problem ist jetzt bei der Funktion die du mir gesagt hast ist bei
    For I = 1 to 250 schluß.

    Ich möchte jetzt den Motor z.B. 5min laufen lassen wie mach ich das?
    Hab hier im Forum was über die Timer funktion gefunden, mach ich es mit dieser Funktion?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.564
    nach "255" dürfte eigentlich erst Schluss sein.

    Ich schätze, Du wirst Variable "I" nur als [highlight=red:58988d8604]Byte[/highlight:58988d8604] (8 Bit) definiert haben, somit hast Du bei 2hoch[highlight=red:58988d8604]8[/highlight:58988d8604]=256 Stufen/Werte

    Bei höheren Werten musst Du es dann als "Word" (16 Bit) definieren, damit hast Du 2*8Bit=2hoch16=65535 Stufen/Werte

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2004
    Beiträge
    13
    Ok danke aber das mit der Timer Funktion interessiert mich noch kann ich das damit auch machen?

Berechtigungen

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