Software-PWM optimieren

Gast #232442
Lesenswert?
• ▲
▼
Ich habe folgenden Code für eine 5Kanal 8bit Software-PWM an PortB0 bis
B4 auf dem atmega8 geschrieben. Nun bin ich noch am feilen, ob man den
Code nicht noch etwas optimieren kann (bzgl. Laufzeit). Ich würde mich
freuen, wenn noch jemand einen Tipp für mich hätte. Mich "stört" im
Moment vor allem noch das ständige neuladen von temp in der 4. Zeile.
lum0-lum4 enthalten die jeweiligen pwm-Werte. Der Rest müsste
eigentlich selbsterklärend sein.

###################
loop:
dec counter
breq neu
ldi temp,0x1F

cpse counter,lum0
cbr temp,1
cpse counter,lum1
cbr temp,2
cpse counter,lum2
cbr temp,4
cpse counter,lum3
cbr temp,8
cpse counter,lum4
cbr temp,16

or temp2,temp
out PORTB,temp2
rjmp loop

neu:
clr temp2
rjmp loop
###################

(Ich hoffe, ihr verzeiht mir diesen Code direkt in der Nachricht. Aber
für diese paar Zeilen einen Anhang zu machen, halte ich dann doch für
übertrieben)

Danke!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.