ATmega32, Timer0, Soft-PWM

OP #654109
Lesenswert?

Glück Auf!

Ich bin wahrscheinlich momentan etwas Betriebsblind. Ich habe hier einen 
Mega32, int. Osc 8MHz. Ich versuche den Timer0 im CTC Mode zu benutzen, 
um eine PWM und später eine Tastenentprellung zu triggern. Nur bekomme 
ich irgendwie den Timer nicht zum laufen - oder habe irgendwo einen 
kleinen, grundlegenden Fehler gemacht. Als Basis habe ich meine, auf dem 
Mega8 sauber laufende, PWM Software verwendet (s. Codesammlung). Die 
Source habe ich angehängt, dürfte nicht allzuschwer zu überschauen zu 
sein.

Ich habe bereits alle verwendeten Register mit dem Datenblatt 
verglichen, weiss aber absolut nicht, wo ich noch suchen sollte? Wäre 
nett, wenn mich mal jemand mit der Nase darauf stoßen könnte ;-)

Ok, danke schon mal!

_.-=: MFG :=-._
Angehängte Dateien:
#654158
Lesenswert?

Die Interrupt-Vektortabelle ist falsch! Bei allen AVRs mit mehr als 8 
KiB Flash sind die Interrupt-Vektoren 32 Bit (2 Worte) breit, damit ein 
jmp reinpasst, das zwei Worte braucht. reti ist aber nur ein Wort breit. 
Deshalb stimmt da gar nichts. Entweder in nicht aktive Vektoren "nop 
reti" reinschreiben (und in die benutzten jmp) oder mit Adressen 
arbeiten...

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