Forum: Compiler & IDEs Bedeutung ACSR & 0x20


von Christoph T. (tentone)


Lesenswert?

Hallo liebe Foren-Freunde,

also prinzipiell kenn ich die Bitmaskierungen und kann auch Datenblätter 
lesen.
Aber welche Bedeutung soll die Maskierung: ACSR & 0x20 bedeuten ?

Ich freue mich über eure Antworten.

Grüße und frohes neues
Tentone

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christoph Tenten schrieb:
> Aber welche Bedeutung soll die Maskierung: ACSR & 0x20 bedeuten ?

Bit Nummer 5 aus dem (vermutlich) IO-Register ACSR wird extrahiert
bzw. getestet.  Was dieses Bit macht, steht im Datenblatt des
unbekannten Controllers.

von Christoph T. (tentone)


Lesenswert?

Hallo,
Danke für Deine Antwort.
So nun habe ich behautet ich kenne mich mit Bitcodierung aus :) ...
Warum ist es das BIT 5?

Es handelt sich laut C-code des Verfassers um einen ATMEGA 8.
Ich benutze einen ATMEGA640 und muss natürlich die Zeile anpassen.
Kannst Du mir in einfachen Worten erklären, was die Zeile macht?

Gruß und Danke für Deinen Nachhilfeunterricht :)

Tentone

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christoph Tenten schrieb:

> Warum ist es das BIT 5?

  # 7 6 5 4  3 2 1 0
0b  0 0 1 0  0 0 0 0 = 0x20

> Es handelt sich laut C-code des Verfassers um einen ATMEGA 8.

Bit 5 in dessen ACSR heißt ACO.  Man könnte also lesbar schreiben:
1
ACSR & (1 << ACO)
oder
1
ACSR & _BV(ACO)

> Ich benutze einen ATMEGA640 und muss natürlich die Zeile anpassen.

ACSR & _BV(ACO) funktioniert dort genauso.  (Ist zufällig auch 0x20,
aber darauf würde ich mich nicht verlassen.)

> Kannst Du mir in einfachen Worten erklären, was die Zeile macht?

Das darfst du aber nun wirklich mal im Datenblatt nachlesen.

von Christoph T. (tentone)


Lesenswert?

Danke für die Antwort,

klar, habe ich schon gefunden.
Jetzt werde ich das gleich mal ausprobieren.

Danke sehr und schönen Abend
Tentone

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.