oZe
13.09.2010, 02:15
Hallo Jungs!
Ich habe da mal eine Frage zur Herrangehensweise an die Programmierung mit Bascom. Ich habe an einem AtMega8 4 Schieberegister in Reihe angeschlossen (74HC595) die ich jetzt gerne mit Hilfe von Bascom mit Werten füttern möchte. Das ganze dient zur Steuerung eines 5x5x5 LED Cubes. Der Würfel hat 25 Säulen und 5 Ebenen (logisch). An den Schieberegistern liegen die Säulen. Es werden also nur 25 Ausgänge der 32 Möglichen benutzt. Soweit erstmal zur theorie.
Jetzt das eigentliche Problem: Ich muss also für jede Ebene die Schieberegister beschreiben und anschließend die Ebene aktivieren (geht bei mir per Mosfet). Jetzt müssen die Schieberegister wieder neu beschrieben werden für die nächste ebene usw., sodass die Ebene nacheinander durchgeschaltet werden können (Multiplex eben).
Wie Speicher ich nun Sinnvoll die jeweils 32 Bit für jede Ebene ab und bekomme die in die Schieberegister? Ich würde am liebsten die Bitmuster für jede Ebene im EEprom abspeichern und anschließend per Forschleife Bitweise durchgehen und in die Schieberegister takten.
Pseudocode:
for x=32 To 1 Step -1
Bit x aus eeprom lesen
In Schieberegister Takten
next x
Ich hab allerdings keine Ahnung wie ich erstmal das EEprom Bitweise beschreiben kann und dann auch Bitweise lesen kann. Nach meiner Idee hätte ich dann für 1 Bild 5x32Bit = 160 Bit hintereinander im EEprom stehen. DIe for schleife muss dann erst 32 Bit lesen und in die Schieberegister takten. Anschließend wir die Ebene ausgegeben und durch eine weiter For schleife die nächsten 32 Bit gelesen und auf die Schieberegister gepackt usw. usw.
Kann mir da jemand freundlicherweise ein paar Ansätze zu schreiben? Gibt es eine Sinnvollere Möglichkeit die Muster abzuspeichern? Ich hatte zunächst an mehrdimensionale Arrays geacht aber das unterstützt Bascom ja leider nicht.
Danke schonmal vorab für eure Hilfe!
Oze
Ich habe da mal eine Frage zur Herrangehensweise an die Programmierung mit Bascom. Ich habe an einem AtMega8 4 Schieberegister in Reihe angeschlossen (74HC595) die ich jetzt gerne mit Hilfe von Bascom mit Werten füttern möchte. Das ganze dient zur Steuerung eines 5x5x5 LED Cubes. Der Würfel hat 25 Säulen und 5 Ebenen (logisch). An den Schieberegistern liegen die Säulen. Es werden also nur 25 Ausgänge der 32 Möglichen benutzt. Soweit erstmal zur theorie.
Jetzt das eigentliche Problem: Ich muss also für jede Ebene die Schieberegister beschreiben und anschließend die Ebene aktivieren (geht bei mir per Mosfet). Jetzt müssen die Schieberegister wieder neu beschrieben werden für die nächste ebene usw., sodass die Ebene nacheinander durchgeschaltet werden können (Multiplex eben).
Wie Speicher ich nun Sinnvoll die jeweils 32 Bit für jede Ebene ab und bekomme die in die Schieberegister? Ich würde am liebsten die Bitmuster für jede Ebene im EEprom abspeichern und anschließend per Forschleife Bitweise durchgehen und in die Schieberegister takten.
Pseudocode:
for x=32 To 1 Step -1
Bit x aus eeprom lesen
In Schieberegister Takten
next x
Ich hab allerdings keine Ahnung wie ich erstmal das EEprom Bitweise beschreiben kann und dann auch Bitweise lesen kann. Nach meiner Idee hätte ich dann für 1 Bild 5x32Bit = 160 Bit hintereinander im EEprom stehen. DIe for schleife muss dann erst 32 Bit lesen und in die Schieberegister takten. Anschließend wir die Ebene ausgegeben und durch eine weiter For schleife die nächsten 32 Bit gelesen und auf die Schieberegister gepackt usw. usw.
Kann mir da jemand freundlicherweise ein paar Ansätze zu schreiben? Gibt es eine Sinnvollere Möglichkeit die Muster abzuspeichern? Ich hatte zunächst an mehrdimensionale Arrays geacht aber das unterstützt Bascom ja leider nicht.
Danke schonmal vorab für eure Hilfe!
Oze