Ne...allzumal ich AVRs in ASM programmiere.
Aber wenn du willst kann ich dir ne Anregung zukommen lassen, selbst in Assembler sind das insgesamt vielleicht 10 Zeilen Code. Also sehr überschaubar.
In ASM könnte man das so machen:
Code:
Rrot - Vorgabewert für Rot
Rgrün - Vorgabewert für Grün
Rblau - Vorgabewert für Blau
Rcnt - Zählregister für PWM
Prot - Pin für rote LED
Pgrün - Pin für grüne LED
Pblau - Pin für blaue LED
Programmstart:
Rrot=0
Rgrün=0
Rblau=0
Prot=0
Pgrün=0
Pblau=0
Timer initialisieren und aktivieren
Irgendwie einen Vorgabewert in die Zählregister Rrot, Rgrün und Rblau schreiben
...
...
...
Timerinterrupt-Schleife:
Rrot << Rcnt?
Wenn nicht, Prot=1
Rgrün << Rcnt?
Wenn nicht, Pgrün=1
Rblau << Rcnt?
Wenn nicht, Pblau=1
Rcnt ==0?
Wenn ja, dann Prot=0, Pgrün=0 und Pblau=0
Ende der Interrupt-Schleife
Lesezeichen