Ja, so ähnlich.
PWM kann z.B. als Hardwaremodul durch einen Zähler und zwei Vergleichswerte realisiert sein. Das kann dann so funktionieren:
- der Zähler wird mit dem Systemtakt - ggf. noch vorab vom Vorteiler verlangsamt - hochgezählt
- beim Zählerstand Null wird der PWM-Ausgang high
- bei Gleichheit von Zähler und Vergleichswert 1 wird der PWM-Ausgang low
- bei Gleichheit von Zähler und Vergleichswert 2 wird der Zähler gelöscht und der nächste high-Zyklus fängt an
Daraus ergibt sich, dass die PWM-(Grund-)frequenz von Systemtakt, Vorteiler und Vergleichswert 2 abhängt, der Duty Cycle (das Tastverhältnis bzw. Einschaltverhältnis) aber nur von dem Verhältnis (Vergleichswert 1 / Vergleichswert 2) im Bereich 0,0 ..1,0, also 0..100%
Außer der Parameterübergabe muss das Programm nichts zur Erzeugung der PWM beitragen.