Archiv verlassen und diese Seite im Standarddesign anzeigen : Do Loop
christian87
26.01.2005, 23:27
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.
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
christian87
26.01.2005, 23:42
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)?
m.artmann
27.01.2005, 07:36
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
christian87
28.01.2005, 12:04
Hallo,
danke für die Hilfe hat super geklappt.
Ich hab jetzt mal den Schrittmotor von robotikhardware angesteuert und benutze folgendes Programm:
'#####################################
'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?
Andree-HB
28.01.2005, 12:12
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
christian87
28.01.2005, 12:32
Ok danke aber das mit der Timer Funktion interessiert mich noch kann ich das damit auch machen?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.