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?
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?
SBI und CBI funktioniren meines wissens nach nur bei I / O Registern. Also bei Ports. In den registern z.b. r16 funktioniren SBR und CBR allerdings nur mit Bitmaske. Jochen
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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.