Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Einrichtung weiterer PWMs
12.02.2008, 11:53
Beitrag #6
RE: Einrichtung weiterer PWMs
Hallo Frederik!

Ja, du hast da einen kleinen Denkfehler drin. Big Grin

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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Nachrichten in diesem Thema
RE: Einrichtung weiterer PWMs - thomas - 12.02.2008 11:53

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste

Kontakt | Krause Robotik | Nach oben | Zum Inhalt | Archiv-Modus | RSS-Synchronisation