Die primitivste Möglichkeit ein PWM Signal zu erzeigen ist über die bereits vorliegenden Sleep Funktionen.

Also so in der Art, in diesem Fall kann man die PWM Zahl zwischen 0 und 10 einstellen(je höher die Auflösung desto besser), mit pwm_zahl=5 hat man ein Tastverhältnis von 50:50.

Pseudocode:
Code:
#define PWM_ZAHL_MAX 10
pwm_zahl=5;
while(bedingung)
{
Ausgang_auf_5V;
for(n=0;n<pwm_zahl;n++)   Sleep(zeit);

Ausgang_auf_0V;
for(n=0;n<(PWM_ZAHL_MAX-pwm_zahl);n++)   Sleep(zeit);
}
Es gibt natürlich viel elegantere Wege das zu lösen.