Hallo, habe da folgendes Problem: Ich möchte da gerne einen Atmel ATmega168 im AVR Studio programmieren und dabei den 16 Bit Counter benutzen. Wenn ich da auf die Register TCCR1B, ICR1, TIFR1 usw. zugreifen will dann kommt folgende Fehlermeldung: error: Operand 1 out of Range:0xc1 bzw. Operand 2 out of Range: je nachdem wo es steht Beim programmieren des ATmega32 mit dem selben Programm läufts (Einstellungen des ATmega32 berücksichtigt). Muss allerdings noch sagen, im Studio kann ich ja einige Einstellungen im I/O View sehen und hinter den Registern steht "na". Hat das etwas zu bedeuten? Liegt es vielleicht nur an der Inc. Datei? Oder gibt es ein Programm womit ich den ATmega168 programmieren und compilieren kann (Assembler, IDE)??? Dankeschön im Voraus...
die timer-register liegen beim mega168 nicht mehr im I/O Bereich 0x00-0x3F IN/OUT sondern im Memory Mapped Bereich. Daher ist ein Zugriff nur mit entsprechenden LDS/STS Befehlen möglich.
Vielen Dank, Daran hat es gelegen. Nur folgendes Problem,wenn ich das dann mit STS und LDS mache kostet das zuviele Taktzyklen,gibt es keine schnellere Lösung? Will das TCNT1L und TCNT1H ins RAM ablegen, mittels Zeiger X. Dazu muss ich es in ein Arbeitsregister laden und im RAM ablegen. Das sieht dann wie folgt aus: in ablage, tcnt1l ;ablage= R16 in eimer , tcnt1h ;eimer= R17 out tccr1b, rücksetzen ; rücksetzen= R18 st x+, ablage st x+, eimer
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.