mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik while schleife


Autor: uuuzzz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

:
Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast eine Klammer falsch gesetzt.
So müsste es funktonieren.

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


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: mar IO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
 
while ( (WARTEPIN & 1<<WARTEBIT1) || (WARTEPIN & 1 << WARTEBIT2)) ;

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: mar IO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aus welchem Grund auch immer habe ich das NICHT vergessen!

Autor: uuuzzz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.