Software-PWM ist sehr einfach.
Du lässt den Timer mit einer Frequenz Deiner PWM-Wahl laufen. 10kHz, oder 1kHz, aber viel weniger eher nicht.
Dann macht dieser Timer zuerst eine Hochzählung einer Variable.
Diese Variable muss beim Erreichen von 100 wieder auf 0 gesetzt werden.
Und unten drunter machst Du einfach sowas hier:
Das wars. Bei Verständnisproblemen einfach fragen.Code:if (PWM_SOLL_WERT > LAUFENDE_VARIABLE) then PORTB.3 = 0 else PORTB.3 = 1
Vorteil dieser Lösung ist, wenn die PWM auf 0 steht, dann geht der Port-Pin nie auf HIGH, d.h. 0.00V!







Zitieren

Lesezeichen