Forum: Mikrocontroller und Digitale Elektronik Cube - Animationenanzahl berechnen?


von LED Bastler (Gast)


Lesenswert?

Hallo alle,

ich hab einen LED Cube 5³ gebastelt. Als µC hab ich einen AtMega32 
genommen. Ich wollt jetzt mal wissen, wie viele Bilder ich eigentlich 
speichern kann. Mein Programm hab ich in Bascom geschrieben:
1
'---------------------------
2
$regfile = "m32def.dat"                                     
3
$framesize = 32
4
$swstack = 32
5
$hwstack = 32
6
$crystal = 1600000
7
'---------------------------
8
'Ports als Ausgang setzen
9
'---------------------------
10
Config Porta = Output
11
Config Portb = Output
12
Config Portc = Output
13
Config Portd = Output
14
'---------------------------
15
'Variablen deklarieren
16
'---------------------------
17
Dim Bild As Word                                            
18
Dim Maxbild As Word                                        
19
Dim Ebene As Byte
20
Dim Dauer As Byte                                        
21
Dim Dauer2 As Byte                                       
22
Dim Temp As Word                                            
23
Dim Temp2 As Word                                           
24
Dim Offset As Word
25
'---------------------------
26
'Hauptprogramm
27
'---------------------------
28
Do
29
30
Maxbild = Lookup(0 , Bilder)
31
Maxbild = Maxbild - 1
32
33
For Bild = 0 To Maxbild
34
35
  Temp2 = Bild + 1
36
  Temp = Lookup(temp2 , Bilder)
37
  Dauer2 = Temp / 25
38
39
  For Dauer = 0 To Dauer2
40
41
    For Ebene = 0 To 4                                      
42
43
      Portd = &B00000000
44
      Porta = &B00000000
45
      Portc = &B00000000
46
      Portb = &B00000000
47
48
      Waitms 5
49
      Portd = Lookup(offset , Muster)
50
      Offset = Offset + 1
51
      Porta = Lookup(offset , Muster)
52
      Offset = Offset + 1
53
      Portc = Lookup(offset , Muster)
54
      Offset = Offset + 1
55
      Portb = Lookup(offset , Muster)
56
57
      Waitms 20                                             
58
59
    Next Ebene
60
61
   Next Dauer
62
63
Next Bild
64
65
Loop
66
67
End
68
69
'---------------------------
70
Muster:
71
'---------------------------
72
$include "muster.txt"                                      
73
74
'---------------------------
75
Bilder:
76
'---------------------------
77
$include "bild + zeit.txt"
Nun hab ich 2 Textdateien:
in der ersten Muster liegen die Bilder so:
1
Data &B11000000 , &B11111111 , &B11111111 , &B11111111
2
Data &B10100000 , &B11111111 , &B11111111 , &B11111111
3
Data &B10010000 , &B11111111 , &B11111111 , &B11111111
4
Data &B10001000 , &B11111111 , &B11111111 , &B11111111
5
Data &B10000100 , &B11111111 , &B11111111 , &B11111111
6
7
Data &B01000000 , &B00000000 , &B00000000 , &B00000000
8
Data &B00100000 , &B00000000 , &B00000000 , &B00000000
9
Data &B00010000 , &B00000000 , &B00000000 , &B00000000
10
Data &B00001000 , &B00000000 , &B00000000 , &B00000000
11
Data &B00000100 , &B00000000 , &B00000000 , &B00000000
Und in der anderen die Anzahl der Bilder und wie lange diese angezeigt 
werden:
1
Data 2% 'Anzahl der Bilder
2
3
Data 500% 'Dauer Bild1
4
Data 500% 'Dauer Bild2

Wie kann ich nun Berechnen, wie viele Bilder ich speichern kann?
Vielleicht kann mir jmd. das erklären. Am besten wär mit Rechenweg.

von Floh (Gast)


Lesenswert?

LED Bastler schrieb im Beitrag #2005321:
> Wie kann ich nun Berechnen, wie viele Bilder ich speichern kann?
> Vielleicht kann mir jmd. das erklären. Am besten wär mit Rechenweg.

Du brauchst pro Bild 20 Byte Flash.

Dein übriggebliebenener Speicher geteilt durch 20 ergibt die mögliche 
Bildanzahl.

von LED Bastler (Gast)


Lesenswert?

Floh schrieb:
> Du brauchst pro Bild 20 Byte Flash.
>
> Dein übriggebliebenener Speicher geteilt durch 20 ergibt die mögliche
> Bildanzahl.

Das hab ich mir auch schon überlegt, aber wie sieht das dann mit der 
Länge der Animationen aus. Die brauchen doch auch platz.

von Floh (Gast)


Lesenswert?

ok 22Byte pro Bild, 20 Byte Bild, 2 Byte Länge :-)

von LED Bastler (Gast)


Lesenswert?

Floh schrieb:
> ok 22Byte pro Bild, 20 Byte Bild, 2 Byte Länge :-)

Und zu dem Ergebnis dann noch die 2 Byte für die Anzahl der Bilder 
richtig?

von Floh (Gast)


Lesenswert?

LED Bastler schrieb im Beitrag #2005388:
> Und zu dem Ergebnis dann noch die 2 Byte für die Anzahl der Bilder
> richtig?

Wobei du die 2 Byte ja nur einmal im Programm brauchst, also nicht mit 
der Anzahl der Bilder wächst.

von Rubelus (Gast)


Lesenswert?

Kauf dir einen Atmega644 - dann kannst du auf jeden Fall schonmal ~680 
weitere Bilder Speichern mit 16Kb mehr an Speicher :D

Der ist Pin Kompatibel zum Atmega32, du musst nur noch deine µC 
Definition in deinem Programm ändern. ;)

Achja... der hat auch noch 6 PWM Kanäle... da wüsste ich schon was ich 
mit mit dem 5³ Cube machen würde ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.