PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warten auf mehrere Zustände



simple
18.08.2006, 12:59
Ich möchte an einem Port auf mehrere Zustände warten. Z.B. soll gewartet werden, bis PA1 und PA3 high sind. Wie kann man es eleganter schreiben, als z.B. mit einem Bitmuster zu vergleichen (siehe Code) ?!



while(!(PINA & 0x03);


Bei der Funktion loop_unit_bit_is_set(...) kann man ja auch nur 1 Pin als Argument angeben, auf das dann gewartet wird.

Vielen Dank für Eurere Vorschläge!

michaelb
19.08.2006, 11:39
Hi,
um es lesbarer zu schreiben kannst du aus dem das machen:


while(!(PINA & ((1<<PA1)|(1<<PA3))));

bezieht sich jetzt aber auf PINA1 und PINA3!

Gruß Michi

simple
19.08.2006, 12:22
Ah prima. Das ist eine gute Idee.
Danke!

michaelb
19.08.2006, 12:24
Hi,
da musste nicht immer selber rechnen und Bitwerte zusammenzählen!
Gruß Michi