Forum: Mikrocontroller und Digitale Elektronik ATMega64 Timer0 Probleme


von Alex74 (Gast)


Lesenswert?

Hallo zusammen,
ich möchte einen Code der auf einem ATMega16 läuft auf einem ATMega64 
zum laufen bringen. LCD und IO Ports sind soweit ok. Lediglich die RC5 
Funktion (IR Fernbedienung) läuft nicht. Signale werden nicht 
ausgewertet.

Beim ATMeega 16 wird er wie folgt konfiguriert:

// Timer0 für RC5-Receiver vorbereiten
  TCCR0 = 1<<CS02;                    // teile durch 256
  TIMSK = 1<<TOIE0;                   // enable interrupt

Ich bin Anfänger und habe mir die Datenblätter der beiden Bausteine 
angeschaut. Die Timer der beiden Atmegas unterscheiden sich im ASSR 
Register zur Asynchronen Nutzung.
Muss ich weitere Konfigurationen im ATMega 64 vornehmen? oder sind die 
Timer gleich und mein Fehler liegt wo anders?

Komme nicht mehr weiter. Eigentlich benötige ich nur einen weiteren Port 
und will daher auf den 64 wechseln. Die SW dient zur Steuerung und 
Überwachung eines Röhrenverstärkers.

Seid gnädig mit mir ;-)

Danke und Gruß
Alex

von Thomas E. (thomase)


Lesenswert?

Alex74 schrieb:
> Seid gnädig mit mir

Könnte dir so passen.

Alex74 schrieb:
> Die Timer der beiden Atmegas unterscheiden sich im ASSR
> Register zur Asynchronen Nutzung.

Nicht nur da. Der Prescaler ist ein anderer und sie unterscheiden sich 
in den CS-Bits. Im Datenblatt findest du in der Tabelle die richtige 
Einstellung für /256.

von g457 (Gast)


Lesenswert?

> Die Timer der beiden Atmegas unterscheiden sich im ASSR
> Register zur Asynchronen Nutzung.

..und im Rest auch.

>  TCCR0 = 1<<CS02;                    // teile durch 256

Nope.

HTH

von S. Landolt (Gast)


Lesenswert?

"ATmega103 compatibility mode"?

von Thomas E. (thomase)


Lesenswert?

S. Landolt schrieb:
> "ATmega103 compatibility mode"?

Nee, den hat der 128er.

Der Fehler liegt an den CS-Einstellungen.

von S. Landolt (Gast)


Lesenswert?

> Nee, den hat der 128er.
Ich war mir eigentlich ziemlich sicher.

> Der Fehler liegt an den CS-Einstellungen.
Vielleicht gibt es auch mehrere Fehler.

von Alex074 (Gast)


Lesenswert?

Atmega 103 compatibility mode ist deaktiviert.
Oh das habe ich übersehen der sc1 muss ebenfalls für einen Verteiler von 
256 gesetzt sein.
Werde ich testen.

von Thomas E. (thomase)


Lesenswert?

S. Landolt schrieb:
> Ich war mir eigentlich ziemlich sicher.

Ich auch. Muß muß allerdings zu meiner Schande gestehen, daß der 64er 
das auch hat.

von Alex074 (Gast)


Lesenswert?

Jetzt läuft der timer. Das cs1 Bit muss noch gesetzt sein. Das hatte ich 
beim vergleichen der beiden Datenblätter übersehen.

Nochmals vielen Dank für den hilfreichen Tipp

Gruß
Alex

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
Noch kein Account? Hier anmelden.