M. W. schrieb:
> Mein Programm ist viel zu lang
So lang:
1 | struct
|
2 | {
|
3 | uint8_t lower;
|
4 | uint8_t upper;
|
5 | }
|
6 | leds[4];
|
7 |
|
8 | while(1)
|
9 | {
|
10 | PORTA=i;
|
11 | PORTB=leds[i].lower;
|
12 | PORTD=leds[i].upper;
|
13 | i=(i+1)&3;
|
14 | _delay_ms(1);
|
15 | }
|
Das kann nicht das Problem sein.
Viel fragewürdiger ist, wie man interessante Animationen hinbekommt,
also den Inhalt von leds bestimmt.
Und da fäällt den meisten auch nichts ein, weswegen die meisten LED
Cubes langweilig in der Ecke verstauben.
Man müsste mindestens Helligkeit, wenn nicht gar Farbe steuern können,
das macht aber die LED Ansteuerung auch nicht komplizierter.
1 | struct
|
2 | {
|
3 | uint8_t lower[8];
|
4 | uint8_t upper[8];
|
5 | }
|
6 | leds[4];
|
7 |
|
8 | while(1)
|
9 | {
|
10 | for(n=0;n<7;n++)
|
11 | {
|
12 | PORTA=i;
|
13 | PORTB=leds[i].lower[n];
|
14 | PORTD=leds[i].upper[n];
|
15 | _delay_us(1<<n);
|
16 | }
|
17 | i=(i+1)&3;
|
18 | }
|
Bleibt also eher die Frage, woher das 3d-Video kommt, das angezeigt
werden soll. Bei 4 x 4 x 4 wird es jedenfalls mit animiert schwimmenden
Delphinen unter Wasser schwer.