Forum: Mikrocontroller und Digitale Elektronik while schleife


von uuuzzz (Gast)


Lesenswert?

Hallo Zusammen,

Ich will eine Schleife Programmieren die solange läuft bis Wartebit 1 
ODER Wartebit 2 ein high Signal bekommt.

Für ein Bit sieht das ja so aus:
while ( !(WARTEPIN & (1 << WARTEBIT)) )


Mein Vorschlag wäre:

while ( !(WARTEPIN & ( (1 << WARTEBIT1)) | ( 1 << WARTEBIT2 )))

das stimmt aber wohl nicht.

Danke im vorraus

:
von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wichtige Regeln - erst lesen, dann posten!
•Aussagekräftigen Betreff wählen
•Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)

Außerdem hilfreich:
- Code tags
- Fehlermeldung posten...

von Oliver J. (skriptkiddy)


Lesenswert?

Du hast eine Klammer falsch gesetzt.
So müsste es funktonieren.
1
while ( !(  WARTEPIN & ( (1 << WARTEBIT1) | ( 1 << WARTEBIT2 ) ) ))

von Peter (Gast)


Lesenswert?

Läubi .. schrieb:
> •Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)

wozu es gibt hier um eine Programmierfrage. Der controller ist hier 
egal.

> Fehlermeldung posten...
gibt es nicht, es ist ja kein Fehler.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Peter schrieb:
>> Fehlermeldung posten...
>
> gibt es nicht, es ist ja kein Fehler.
Ach... und deshalb funktioniert es nicht? Irgenwie muß sich der Fehler 
ja äußern...

von Karl H. (kbuchegg)


Lesenswert?

Läubi, er hat einfach nur einen Logikfehler.
Seine Abfrage ist falsch formuliert.

(Der Threadtitel ist schlecht. Aber da haben wir schon schlechteres 
gesehen. Aber der Rest trifft einfach nicht zu. Drumm hab ich den Thread 
wieder aufgemacht)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Karl heinz Buchegger schrieb:
> (Der Threadtitel ist schlecht. Aber da haben wir schon schlechteres
> gesehen. Aber der Rest trifft einfach nicht zu. Drumm hab ich den Thread
> wieder aufgemacht)
Hab ich mir fast gedacht ;)

> Läubi, er hat einfach nur einen Logikfehler.
> Seine Abfrage ist falsch formuliert.
Ja gut, keinen Compilerfehler... Aber wenigstens:
erwartet <-> auftretendes
Verhalten sollte man doch wohl beschreiben können ;)

von mar IO (Gast)


Lesenswert?

1
 
2
while ( (WARTEPIN & 1<<WARTEBIT1) || (WARTEPIN & 1 << WARTEBIT2)) ;

von Karl H. (kbuchegg)


Lesenswert?

Läubi .. schrieb:
> Karl heinz Buchegger schrieb:
>> (Der Threadtitel ist schlecht. Aber da haben wir schon schlechteres
>> gesehen. Aber der Rest trifft einfach nicht zu. Drumm hab ich den Thread
>> wieder aufgemacht)
> Hab ich mir fast gedacht ;)
>
>> Läubi, er hat einfach nur einen Logikfehler.
>> Seine Abfrage ist falsch formuliert.
> Ja gut, keinen Compilerfehler... Aber wenigstens:
> erwartet <-> auftretendes
> Verhalten sollte man doch wohl beschreiben können ;)

LOL
wenigstens hat er nicht nach einer 'if-Schleife' gefragt :-)

von mar IO (Gast)


Lesenswert?

aus welchem Grund auch immer habe ich das NICHT vergessen!

von uuuzzz (Gast)


Lesenswert?

Skript Kiddy schrieb:
> Du hast eine Klammer falsch gesetzt.
> So müsste es funktonieren.
> while ( !(  WARTEPIN & ( (1 << WARTEBIT1) | ( 1 << WARTEBIT2 ) ) ))
>

Vielen Dank.

Also der Umgangston ist hier auch alles andere wie höflich. Die Frage 
war Umgangssprachlich formuliert. Ist das ein Grund so aggressiv zu 
antworten?

Der Post wurde wohl gerade gelöscht.

@Läubi ich werde es mir zu Herzen nehmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.