Forum: Mikrocontroller und Digitale Elektronik ATmega32, Timer0, Soft-PWM


von Markus -. (mrmccrash)


Angehängte Dateien:

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 :=-._

von Johannes M. (johnny-m)


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...

von Markus -. (mrmccrash)


Lesenswert?

Aah, das bringt Licht ins Dunkel. Da werde ich das heute Abend noch mal 
ausprobieren, danke!

_.-=: MFG :=-._

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.