Hi Forum und Patrick.

Tja, so gut bin ich noch nicht, damit ich die Treiber ausschlachte und die Gedärme dann irgendwohin transplantiere. Ich habe mich halt bissl konzentriert und eine Menge von VB5 gelernt und das ist das Resultat:
Ich habe ein funktionierendes Programm geschaffen! =D>
(und jetzt fühle ich mich beinahe wie ein Gott )

Es geht nur um eine Simulation meiner Vorstellung, wie PWM funktioniert. Da ich ein beginner bin, was das VB5 betrift (und nicht nur das, aber eigentlich all dieses Zeug rum drum), ist ja klar, dass ich mindestens ein Haufen Fehler getan habe. Deswegen wäre ich sehr froh, wenn sich jemand dieses Code mal anschauen würde und mir ohne Gnade sagen wird, ob ich diese Code als PWM benutzen kann, oder ob ich total daneben bin. Es ist noch nicht vollkommen, aber bevor ich weitermache, wollte ich nur wissen das ich auf dem richtigen Weg bin.

So, nun zur Erläuterung:
in meinem Projekt geht es mir darum, in einem bestimmten Interval (Zeitspanne) bestimmt viele Schritte zu machen. Und dass sich das ganze nach ablauf dieses Intervals wiederholt. Als PWM-Detail sind die einzelnen Schritte mit Farbe unterschieden.

Womit ich mir aber nicht so sicher bin, ist dieses CLOCK Pin => kann ich es mit: "Pin high, Wartezeit 1ms, Pin low, Wartezeit für nächsten Puls" anschprechen oder genügt nur "Pin high, Wartezeit für nächsten Puls"? (wenn ich die kürzere Variante nehme, wie wird sich dieser Pin dann auschalten?)

und hier kommt mein Baby => (gehen sie mit ihm bitte vorsichtig um )

Dim a As Long, b As Long, c As Long, d As Long, e As Long, f As Long, Pulses

Private Sub Command1_Click()
Timer1.Interval = Val(Text2.Text) ' Set interval.
End Sub

Private Sub Command2_Click()
Unload Form1
End
End Sub

Private Sub Form_Load()
Text2.Text = 0
Text1.Text = 0
a = RGB(255, 255, 255) ' White Wait = Interval / 10
b = RGB(255, 0, 0) ' Red Enable Pin ON
c = RGB(0, 0, 255) ' Blue Set direction CW or CCW
d = RGB(255, 0, 255) ' Lila Pulse => ON, wait 1, Pulse OFF, wait 3
e = RGB(255, 255, 0) ' Yellow Enable OFF
f = RGB(0, 0, 0) ' Black Wait = Interval - (suma time a - e)
End Sub

Private Sub Picture1_Click()

End Sub

Private Sub Text1_Change()
' future Restriction = just whole numbers > 0, max Value 25
If Text1.Text > 0 Then Text2.Enabled = True
End Sub

Private Sub Text2_Change()
' future Restriction = just numbers > 0,
' if "," instead "." then MsgBox with Warning,
' max lenght = 7
If Text2.Text > 0 Then Command1.Enabled = True
End Sub

Private Sub Timer1_Timer()

If Picture1.BackColor = c Then
For Pulses = 0 To Val(Text1.Text) Step 1
Timer1.Interval = Val(Text2.Text) * Val(Text1.Text)
Exit For
Pulses = Val(Text1.Text)
Next Pulses
Else
Timer1.Interval = Val(Text2.Text)
End If

If Picture1.BackColor = a Then
Picture1.BackColor = b
ElseIf Picture1.BackColor = b Then
Picture1.BackColor = c
ElseIf Picture1.BackColor = c Then
Picture1.BackColor = d
ElseIf Picture1.BackColor = d Then
Picture1.BackColor = e
ElseIf Picture1.BackColor = e Then
Picture1.BackColor = f
Else
Picture1.BackColor = a
Timer1.Interval = Val(Text2.Text) / 2
End If
End Sub
Also leute, ich bin dankbar für jede Anregung und (konstruktive) Kritik.

Mit freundlichen Grüsen

K Z