Zugriff auf TCNT0

Gast #217142
Lesenswert?

Hallo!
Wie kann ich beim mega32 auf das Timer-Register TCNT0 und TCCR0
zugreifen. Hab die m32def.inc eingebunden, bekomme aber bei den
Befehlen:
ldi TCNT0, temp
mov TCNT0, temp
clr TCNT0

immer die Fehlermeldung: Invalid register

Sind die Befehle dafür nicht geeignet oder is da grundsätzlich noch
irgendein denkfehler drin?

MFG Dominik
Gast #217143
Lesenswert?

> Wie kann ich beim mega32 auf das Timer-Register TCNT0 und TCCR0
> zugreifen. Hab die m32def.inc eingebunden, bekomme aber bei den
>
> Befehlen:
> ldi TCNT0, temp
> mov TCNT0, temp
> clr TCNT0
>
> immer die Fehlermeldung: Invalid register
>
> Sind die Befehle dafür nicht geeignet oder is da grundsätzlich
> noch irgendein denkfehler drin?

Ersteres. Du versuchst, die Befehle für "general purpose registers"
mit "io registers" zu verwenden. Das geht nicht. Du mußt es z.B. so
machen:

> ldi TCNT0, temp

ldi r16, t3mp
out TCNT0, r16

> mov TCNT0, temp

out TCNT0, temp

> clr TCNT0

clr r16
out TCNT0, r16

Auch hilfreich sind sbi ud cbi.

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