Einrichtung weiterer PWMs
|
12.02.2008, 11:53
Beitrag #6
|
|||
|
|||
RE: Einrichtung weiterer PWMs
Hallo Frederik!
Ja, du hast da einen kleinen Denkfehler drin. Die Funktion pwm_funktion(void) wird zyklisch durch den Timer aufgerufen. Das richtest du mit der Zeile: timerAttach(TIMER2OVERFLOW_INT, pwm_funktion ); ein. Immer wenn der Timer 2 über läuft wird die Funktion aufgerufen. Das geschieht unabhängig vom Programm immer in gleichen Zeitabständen. Damit ist die PWM eingerichtet. Das Licht ändert sich jetzt, je nach dem was in die Variable m3 eingetragen wird. Jetzt hast du zusätzlich in deine While-Schleife den Funktionsaufruf pwm_funktion() eingebaut. Jetzt tritt das Problem auf, dass du diese Funktion, einmal aus deinem Hauptprogramm aus aufrufst und aus dem Timerinterrupt heraus. Und genau das erzeugt dir das Flimmern. Denn jetzt sind die Zeitabstände nicht mehr gleich sondern überlagern sich. Nimm den Funktionsaufruf in deiner While-Schleife heraus. Dann sollte das wieder bestens funktionieren. Grüße Thomas |
|||
|
Nachrichten in diesem Thema |
Einrichtung weiterer PWMs - Frederik.Ebert - 06.11.2007, 18:34
RE: Einrichtung weiterer PWMs - thomas - 08.11.2007, 20:59
RE: Einrichtung weiterer PWMs - Frederik.Ebert - 15.11.2007, 20:48
RE: Einrichtung weiterer PWMs - thomas - 26.11.2007, 12:47
RE: Einrichtung weiterer PWMs - Frederik.Ebert - 11.02.2008, 18:24
RE: Einrichtung weiterer PWMs - thomas - 12.02.2008 11:53
|
Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste