Interrupt-Routine und PWM mit einem Timer möglich?

OP #3201196
Lesenswert?
• ▲
▼
Hallo,

ich experementiere seit einiger Zeit mit einem Atmega16 und möchte damit 
eine Steuerung aufbauen, die verschiedene Funktionen hat. Dabei sind 
manche Funktionen unabhängig voneinander.

Für die Lichtsteuerung möchte ich die vorhandenen PWM-Kanäle verwenden, 
von denen der Atmega16 ja 4 Stück hat.

Adererseits möchte ich die zeitlichen Abläufe, also wie lange bei der 
Steuerung einzelne Funktionen aktiviert bzw. deaktiviert werden, mit 
Interrups steuern, damit der µC während der Zeit auf andere Ereignisse 
reagieren kann.

Nun läuft die Interrupt-Steuerung ja ebenfalls mit Hilfe eines Timers, 
der beim Überlauf oder bei einem vorher festgelegten Wert einen 
Interrupt auslöst und dann resetet wird, wobei bei der PWM der Timer 
immer von 0 bis max hoch und wieder runter zählt, wenn ich das richtig 
verstanden habe und ich somit wegen der PWM den Timer nicht für die 
Zeitsteuerung reseten kann.

Nun meine Frage:
Ist es möglich, bei dem Atmega16 sowohl 4 unabhängige PWMs als auch eine 
Interrupt-Routine für zeitliche Steuerungen zu programmieren oder 
schließt sich das gegenseitig aus?

Ich möchte jetzt nicht ein fertiges Prgramm haben, sondern nur wissen, 
ob das überhaupt möglich ist und evtl. den einen oder anderen 
Denkanstoß, was ich dafür machen müsste, wenn es möglich ist.

K3HLIM
(Firma: matzetronics) #3201199
Lesenswert?
• ▲
▼
Markus Niewerth schrieb:
> Ich möchte jetzt nicht ein fertiges Prgramm haben, sondern nur wissen,
> ob das überhaupt möglich ist

Ja. Der Timer Overflow Interrupt z.B. läuft völlig unabhängig von der 
PWM und kann frei benutzt werden. Auch die OC Interrupts gehen, sind 
aber im Zeitpunkt von den Werten in den OC Registern abhängig.
Sieh das Diagramm im Mega16 Datenblatt 'Figure 14.7' an - der TOV wird 
bei BOTTOM gesetzt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.