www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Register mit Bit bitweise vergleichen?


Autor: Lukas Piet (lzaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry falls ich nerve aber hab da noch eine Verständnis Frage:

Was heisst "(RegisterA & (<<Bit7)?

Ist die Aussage dann wahr wenn Bit7= high(logisch 1) und irgendein 
anderes Bit vom RegisterA = high (logisch 1) ist.

Wie funktioniert das genau, wenn man Register mit einzelnen Bits 
bitweise vergleicht?

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas Piet wrote:
> Was heisst "(RegisterA & (<<Bit7)?

Das ist leider syntaktische Unsinn. Ich vermute, es sollte heißen:

   RegisterA & (1 << Bit7)

wobei Bit7 als 7 definiert ist.

Es bedeutet: die 1 wird 7 Bit nach links verschoben und bitweise mit 
RegisterA und-verknüpft.

M.a.W.: Das Ergebnist ist ganau dann != 0, wenn in RegisterA das Bit 7 
eine 1 ist.

Autor: Lukas Piet (lzaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso Unsinn?

Das Tutorial schreibt doch mit diesem Syntax.

Zitat aus dem Tutorial:

while ( ADCSRA & (1<<ADSC) ) {
                             ;      // auf Abschluss der Konvertierung 
warten
                             }

Autor: Lukas Piet (lzaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nächste Überlegung:

Das heisst wohl wenn im Register ADCSRA das Bit ADSC=1 ist, dann ist 
Bedingung erfüllt?

Autor: nixversteh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig!

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas Piet wrote:
> Wieso Unsinn?
>
> Das Tutorial schreibt doch mit diesem Syntax.
>
> Zitat aus dem Tutorial:
>
> while ( ADCSRA & (1<<ADSC) ) {
>                              ;      // auf Abschluss der Konvertierung
> warten
>                              }

Dann lies mal nach, was du in deinem Orginalposting zusammengeradebrecht 
hast...

Autor: Lukas Piet (lzaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja sorry hatte die 1 vergessen, kann den Beitrag leider nicht mehr 
bearbeiten um es zu korrigieren.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas Piet wrote:
> ja sorry hatte die 1 vergessen, kann den Beitrag leider nicht mehr
> bearbeiten um es zu korrigieren.

Einfach vorm Absenden nochmal checken beim nächsten mal ;)

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.