Hallo Ferninand,

natürlich kann man eine PWM auch mit einem Interrupt (Timerinterrupt) erzeugen,
das ist aber absolut nicht mehr zeitgemäss, es gibt kaum noch Controller die keine
eingebaute PWM haben und diese sollte man dann auch benutzen, weil die völlig autark (eigenständig) läuft
und dein Hauptprogramm nicht weiter belastet.
Manchmal ist aber das Wort PWM garnicht im Datenblatt zu finden.
Das ist zum Beispiel beim LPC1347 Controller der Fall.
Der hat natürlich auch die Möglichkeit PWMs zu erzeugen,
das findet man dann meist bei der Beschreibung der Timer. (Capture/Compare/Match/event counter....)

Aber Du wirst uns sicher noch den Controller verraten, welchen Prozessor/Controller Du am Wickel hast....

@Ceos: ich finde Bibliotheken, Frameworks teilweise auch "grausam" und benutze NIE welche.
So schwierig ist das nun auch nicht, mal ein paar Register zu initialisieren.
Für Einsteiger ist das aber oft sehr hilfreich und unumgänglich, bis dann Probleme auftauchen.....