PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei Optimierung von Ports setzen



graffiti
06.07.2008, 18:36
über die Serielle kommt z.B. das Protokoll 00000100
aber der Status des PortB soll den alten Stand nicht verlieren
(z.B. wenn portb.0 = 1 ist soll er auch noch 1 bleiben)
dann lese ich den PortB aus und setze es mit ins Protokoll
und zum schluß setze ich das Protokoll auf den portB
funktioniert auch 1a
aber
geht es auch noch einfacher ohne 8 if then Abfragen



'Protokoll mit 00000100 kommt an
'alter Stand vom PortB wird abgefragt und gesetzt

if portb.0 = 1 then set Protokoll.0
if portb.1 = 1 then set Protokoll.1
if portb.2 = 1 then set Protokoll.2
if portb.3 = 1 then set Protokoll.3
if portb.4 = 1 then set Protokoll.4
if portb.5 = 1 then set Protokoll.5
if portb.6 = 1 then set Protokoll.6
if portb.7 = 1 then set Protokoll.7

portb = Protokoll

gruß Gerhard

Jaecko
06.07.2008, 20:22
Wenn ich mich nicht täusche dann einfach so:

PORTB = PORTB OR Protokoll

graffiti
06.07.2008, 20:56
klappt 1a und doch sooo einfach

auf ein "oder" wäre ich nie gekommen,
da es ja eigentlich das eine oder das andere wäre
am Anfang habe ich versucht zu addieren,
aber logischerweise kommt nur Müll dabei raus
danke und gruß Gerhard

Felix G
06.07.2008, 21:17
auf ein "oder" wäre ich nie gekommen,
da es ja eigentlich das eine oder das andere wäreDas wäre dann ein XOR (Exklusiv-Oder), also oder im Sinne von "entweder - oder"

graffiti
06.07.2008, 21:25
ja richtig, bin ich total auf dem Schlauch gestanden
außerdem brauche ich`s öfters beim umproggen von einer SPS
da ist es fast genauso ............