Eher so was:
Dabei gibt faktor an, um welches Verhältnis sich zwei aufeinander folgende dutys unterscheiden:Code:#include <avr/io.h> ... uint16_t i; // Laufvariable uint16_t duty = ...; // Duty, mit dem angefangen wird for (i=0; i<100; i++) { duty = fixprod16 (duty, faktor); OCR1A = duty; }
64887 --> 1.01
62415 --> 1.05
59578 --> 1.1
46341 --> Wurzel(2)
43690 --> 1.5
32768 --> 2
20860 --> PI
16384 --> 4
etc.
Lesezeichen