Gast
#2921084
Hallo, ich möchte gerne per Software-PWM LED-Fading durchführen. Als Basis dient ein Attiny861A, an welchem eine LED zwischen PA5 und PA6 hängt. Als Basis habe ich zunächst die erste Variante der Software-PWM aus dem Artikel Soft-PWM verwendet. Die Software-PWM an sich funktioniert soweit auch. Nun wollte ich einen ersten Ansatz zum Fading der LED ausprobieren, indem ich alle x Millisekunden das Tastverhältnis ändere. Leider scheint hier irgendwas zu haken, wenn ich z.B. einstelle, dass die Helligkeit sich alle 50ms erhöhen soll, so bleibt die LED etliche Sekunden auf jede Helligkeitsstufe stehen. Erst wenn ich "sleep(1)" setze geht es etwas schneller, ein vollständiger Durchlauf benötigt aber immer noch ~20 Sekunden. Kann mir jemand sagen, wo mein Fehler ist? Ich vermute, dass irgendwo die ISR dazwischen funkt, aber ich habe noch nicht so viel Erfahrung und nachdem ich nun zwei Stunden alles mögliche probiert habe weiß ich wirklich nicht mehr weiter. Hier noch der Code, den ich verwende:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
Gruß Daniel