Archiv verlassen und diese Seite im Standarddesign anzeigen : mehrere and zusammenfassen?
TobiasBlome
12.04.2008, 01:49
Hallo,
kann ich irgendwie die and´s kürzer schreiben?
ich habe sonst 10 mal and hintereinander....
'----------------
If Taster1 > 0 And Taster2 > 0 And Taster3 > 0 And Taster4 > 0 Then
Taster = 0
End If
'----------------
Tobias
Ja das geht
In der Art ,sind alle Taster auch Null *Grins*
Ein wenig nachdenken sollst Du schon selbst dazu.
lg
Gento
TobiasBlome
12.04.2008, 08:52
Hey Gento ;-)
ich dachte schon das du mir zumindes einen Tipp geben könntest in welcher Richtung ich suchen muss.
geht vielleicht:
if taster1 to taster10 = 0 then
'machen
end if
???
Tobias
_werwurm_
12.04.2008, 20:45
man kann nullen auch addieren ^^
edit: zugegeben.. viel kürzer wird es dann auch nicht:
if taster1+taster2+taster3+taster4+taster5+taster6... +taster10=0 then
If Taster1 > 0 And Taster2 > 0 And Taster3 > 0 And Taster4 > 0 Then
Taster1 klingt nach Pinx.y.
Wenn du sie an einem gemeinsamen Port hängen hast, kannst du natürlich auch
If PinX = &B11111111 Then
schreiben.
Oder auch
Taster=PinX Or &B11111000 'die Taster sind an Pinx.0, Pinx.1 und Pinx.2
If Taster = &B11111111 Then
Gruß
Rolf
TobiasBlome
13.04.2008, 20:43
Hallo _werwurm_
tolle Idee! da bin ich noch nicht drauf gekomen. aber du hast recht es wird nicht viel kürzer (weiß natürlich nicht wie das mit der µC Bearbeitungszeit ist???)
@for_ro
Das sind Taster :-)
aber 2 Ports:
PB1-5 PC1-5 -> also 10 Taster
PC0 ist z.B. ein Ausgang und bei PB1 hängt noch ein anderer Schalter. Kann man auch so einen Pin ignorieren?
Abgesehen das deine Version natürlich viel übersichtlicher ist: Kann man damit µC Rechenzeit sparen?
Vielen Dank für eure Antworten,
Gruß, Tobias
PB1-5 PC1-5 -> also 10 Taster
Na dann mach es doch so wie oben beschrieben
TasterB=PinB And &B00111110 'oder And 62 oder And &H3E
TasterC=PinC And &B00111110
If TasterB=62 and TasterC=62 Then ...
Abgesehen das deine Version natürlich viel übersichtlicher ist: Kann man damit µC Rechenzeit sparen?
Ein einzelnes Bit abfragen ist immer aufwändiger als ein ganzes Byte.
Im Simulator kannst du sehen, dass
If Pinb.1=1 Then 14 Zyklen braucht, während
IF Pinb =62 Then nur 7 Zyklen benötigt.
Gruß
Rolf
TobiasBlome
14.04.2008, 17:01
besten Dank! das spart ja ganz ganz viele Zyklen!!!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.