Archiv verlassen und diese Seite im Standarddesign anzeigen : Wert einer Variable eingrenzen?
TobiasBlome
25.05.2007, 18:00
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
TobiasBlome
25.05.2007, 18:37
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
TobiasBlome
25.05.2007, 18:41
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:
select case pwm_2
case is < 2: pwm = 0
case is > 255: pwm = 255
case else: pwm = pwm_2
end select
Problem ist, du brauchst 3 Ausgänge
( pwm =0 / pwm = pwm_2 / pwm = 255)
und "IF... ELSE...." hat offenbar nur zwei
TobiasBlome
25.05.2007, 19:59
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
TobiasBlome
25.05.2007, 20:02
@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.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.