ACO ist ja nur ein Bit im Register ACSR
die Bits dort ACSR haben die Nummern 7 - 0
dafür gibt es Namen, einer davon ist ACO, das ist Bit Nr 5
die Namen findest du in der Doku-PDF s 197
das dient dazu, dass man schreiben kann z.B
Code:
ACSR |= (1<<ACBG) und nicht
ACSR |= (1<<6)
beides ergibt
ACSR |= 0x40 (0100 0000)
danach ist genau dieses Bit im register gesetzt.
ACO
Code:
"ACO high" heisst, im ACSR steht xx1x xxxx
"ACO low " heisst, im ACSR steht xx0x xxxx
um es abzufragen, macht man also
Spannung_weg = ACSR & (1<<ACO);
das bedeutet
ACSR = xxNx xxxx (low oder hi)
(1<<ACO) = 0010 0000
logisch und & = 00N0 0000 --> ergebnis
in "spannung_weg" steht dann also entweder
0000 0000 ( Bit nr 5 "ACO" = 0)
oder 0010 0000 ( Bit nr 5 "ACO" = 1)
du kannst also auch nicht auf == 1) abfragen.
Hilft das als Tip, oder verwirrt das ?
Lesezeichen