Jo, es gibt bessere Lösungen.
Deine Routine der PWM Erzeugung doch etwas ineffizient.
hier mal nen kleines Beispiel, wie man es noch machen könnte:
Soll das ganze nun nichtinvertiert ausgegeben werden, sind lediglich 2 weitere Zeilen fällig:Code:clr output cp cout, pwm ror output out PORTB, output
Diese Beispiele gelten allerdings nur, wenn wenn der Rest des Ports nicht belegt ist oder als Eingang definiert wurde (wie in diesem Fall)Code:clr output cp cout, pwm ror output com output andi output,0b00000001 out PORTB, output
Desweiteren hat der Code den Nachteil, das das ganze mit den Werten 0 & 255 nicht so recht funktionieren dürfte ...
Allerdings kann man damit auch mal eben ne 8 Kanal Software PWM realisieren ...
BTW: leg dir nen Tiny 2313 zu .. damit wirste mehr freude haben ... der AT90S2313 zählt zu den Chips, die nicht mehr für neue Designs verwendet werden sollten.
Grüße, da Hanni.







Zitieren

Lesezeichen