Also etwas genauer:
- wenn PWM_2 < 0 dann PWM=0
- wenn PWM_2 > 255 dann PWM=255
- sonst immer PWM = PWM_2
noch etwas: ich möchte 0 und 255 (und ale Werte dazwischen) umkehren. Gibt es dafür einen Befeht oder ähnliches?!
Tobias
Hallo
funktioniert das?
If Pwm_2 < 0 Then
Pwm = 0
Else
Pwm = Pwm_2
End If
If Pwm_2 > 255 Then
Pwm = 255
Else
Pwm = PWM_2
End If
Tobias
Also etwas genauer:
- wenn PWM_2 < 0 dann PWM=0
- wenn PWM_2 > 255 dann PWM=255
- sonst immer PWM = PWM_2
noch etwas: ich möchte 0 und 255 (und ale Werte dazwischen) umkehren. Gibt es dafür einen Befeht oder ähnliches?!
Tobias
Na gut, habe es nun so gelöst:
If Pwm_2 < 0 Then
Pwm = 0
End If
If Pwm_2 > 255 Then
Pwm = 255
End If
If Pwm_2 => 0 Or =< 255 Then
Pwm = PWM_2
End If
Aber das Problem mit dem Wert drehen besteht noch...
Tobias
Recht übersichtlich geht das auch mit select:
Problem ist, du brauchst 3 AusgängeCode:select case pwm_2 case is < 2: pwm = 0 case is > 255: pwm = 255 case else: pwm = pwm_2 end select
( pwm =0 / pwm = pwm_2 / pwm = 255)
und "IF... ELSE...." hat offenbar nur zwei
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
so Problem gelöst
erstmal -255 und dann den Absolutwert nehmen:
PWM_2 = 0 'Als Beispiel
Pwm_3 = Pwm_2 - 255 'PWM_3 = -255
Pwm_4 = Abs(pwm_3) 'Absolutwert = 255
@PicNick
Ja du hast Recht, leider nur 2 "Ausgänge"
Die Case Methode gefällt mir sehr gut
Umdrehen geht einfacher mit
PWM_2 = 255 - PWM_2
Wie ist deine PWM_2 eigentlich dimensioniert? Wenn es eine Byte Variable ist, werden eh keine Werte <0 oder >255 auftreten.
Lesezeichen