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