Hi!
Ich möchte mir eine Soft-PWM für meinen RGB-Fader zusammenbasteln.
Damit das ganze möglichst flexibel bleibt habe ich jeder Farbe ihren
eigenen Port und Pin zugeteilt:
1 | #define Red PA6
|
2 | #define Red_PORT PORTA
|
3 | #define Red_DDR DDRA
|
4 |
|
5 | #define Green PA7
|
6 | #define Green_PORT PORTA
|
7 | #define Green_DDR DDRA
|
8 |
|
9 | #define Blue PA5
|
10 | #define Blue_PORT PORTA
|
11 | #define Blue_DDR DDRA
|
Nun müsste ich ein Mehrdimensionales Array erstellen. Die erste
Dimension enthält die drei Arrays für R, G und B und jedes dieser Arrays
enthält eben Portpin, Port, DDR und PWM-Wert zur jeweiligen Farbe. Da
ich mir das komplizierte Handling von C mit mehrdimensionalen Arrays
und/oder Zeigerarrays recht neu ist brauch ich ein wenig Hilfe.
Das ganze dient dem Zweck, dass ich die Farben hinterher für ein
intelligentes PWM-fading sortieren kann. Es soll nur maximal 4
Interrupts geben, einen beim Overflow des Timers der alle Kanäle
anschaltet. Und der Reihe nach sollen dann in den Compare-Interrupts die
einzelnen Farben ausgeschaltet werden, entsprechend der Reihenfolge
ihrer PWM-Werte.
Geht das so in der Richtung?
lg PoWl