Wieso funzt sbi/cbi nicht?

Gast #59920
Lesenswert?

Hallo!

Kann mir jemand sagen, wieso immer ein Fehler auftritt wenn ich
folgenden Code mit AVRStudio compilieren will?

sbi TCCR1B,7   error : Illegal argument type or count
cbi TIFR,5     error : Illegal argument type or count
sbi EECR,2     hier aber nicht

In der Atmega8 def.inc Datei sind alle einträge vorhanden. An was liegt
das?
Gast #59922
Lesenswert?

Ach so, funzen die nur für den unteren Bereich? Wie kann ich das lösen,
ohne ein ganzes Register zu beschreiben, oder eine Bitmaske zu setzen??
Od geht das gar nicht ohne? Wie macht man das am einfachsten?
Gast #59925
Lesenswert?

Klar ist EECR ein IO-Register.  TIFR und TCCR1B sind auch welche.

Warum liest Du nicht einfach die Appnote über die Befehle?

Syntax:      Operands:
CBI A,b      0 <= A <= 31, 0 <= b <= 7

Damit sind die gängigen Ports (PORTx, PINx, DDRx) allesamt drin sowie
einige andere wichtige IO-Register.  Viele Steuerregister jedoch sind
nicht mehr im gültigen Wertebereich.  Dort mußt Du den umständlichen
Weg wählen.  Alternativ kannst Du Dich natürlich dran erinnern, daß
alle IO-Register auch memory-mapped zugegriffen werden können (d. h.
sie werden mit Offset 0x20 in den SRAM-Bereich abgebildet).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren