Forum: Mikrocontroller und Digitale Elektronik AVR Timer - Denkfehler?


von Markus H. (Gast)


Lesenswert?

Hallo zusammen,

ich simuliere gerade mit dem AVR Studio und habe eine Denkblockade beim 
Timer.

Einstellungen: 16bit Timer mit 9bit Fast-PWM operation invertiert
Bottom ist 0, Top ist 0x01FF

Mir ist aufgefallen das der Timer Overflow Interrupt nicht nach 512 
Zyklen sondern nach 1024 ausgelöst wird.

Beim Debuggen ist mir folgendes aufgefallen:

Timer1/Counter Bytes zählt bis 0x01FF hoch, dann wieder bis 0x0000 
runter und dann wird die Interrupt Flag gesetzt. Also nach 1024.

Wie kann das sein? Nach dem Atmel Manual müsste der Timer beim Top auf 
Bottom geresetet werden?!

Bin für Tipps dankbar.

Lg

von spess53 (Gast)


Lesenswert?

Hi

>Timer1/Counter Bytes zählt bis 0x01FF hoch, dann wieder bis 0x0000
>runter und dann wird die Interrupt Flag gesetzt. Also nach 1024.

Das sieht eher nach Phase Correct-PWM aus.

MfG Spess

von Markus H. (Gast)


Lesenswert?

Jetzt wo du es sagst... Aber die Steuerregister sind richtig 
eingestellt.

Eventuell ein Problem mit AVR Studio oder ich müsste mal mit JTAG an 
einen Prozessor.

Gruss

von Ralf G. (ralg)


Lesenswert?


von Markus H. (Gast)


Lesenswert?

Sind diese Bugs bei AVR-Studio 5 behoben?

von Markus H. (Gast)


Lesenswert?

Getestet...

in AVRStudio5 funktioniert die Simulation korrekt.

Danke für die Antworten

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.