Oder etwas lesbarer _delay(1); statt NOP(); bzw. _delay(3); statt NOP();NOP();NOP();
Druckbare Version
Hallo nochmal, kurzer Endbericht:
die Assembler nops habe ich durch "NOP()" ersetzt und das funktioniert erwartungsgemäß einwandfrei.
Mit den Delay wäre etwas problematisch, da ein NOP in meinem Falle bei 32MHz Clock 125ns entspricht.
die delay funktion ist in Millisekunden.
es soll wohl delay_ms und delay_us geben, die meckert er mich an, da fehlt wohl eine Bibliothek.
Aber nichts desto trotz, es laufen grad 50 LEDs einwandfrei, aber das hatte auch noch etwas gedauert, denn
man sollte während des Ausschiebens der Daten alle Interrrupts sperren, sonst hat man Randomize Rainbow :)
Zudem waren ab LED 21 die Farben falsch. Zuerst dachte ich an ein Speicherproblem, aber das war es nicht.
Da war doch tatsächlich die 21te LED auf dem Band defekt. Zum Glück hatte ich noch einzelne und habe sie ausgetauscht.
Nun leuchten alle 50 wie sie sollen.
Bei voller Ansteuerung in weiss kommt schon so einiges an Strom zusammen.
Das sind dann 20mA * 3 Leds = 60mA * 50 Leds = 3,05 Ampere.
Achja, noch was: Bei kurzzeitiger Unterbrechung der Versorgungsspannung, gehen die LED zwar aus, es bleiben aber die Daten in den 50 LEDs erhalten.
So 3 bis 5 Sekunden habe ich ausprobiert, ohne dass ich erenut Daten reinschieben muss.
Nö. In Millisekunden ist die _delay_ms(), die _delay() ist in Prozessortakten, _delay(1); ersetzt also ein NOP(); und _delay(3); ersetzt NOP();NOP();NOP();
Die Unterstriche sind dabei wichtig. delay() kennt der XC8 nicht, _delay() schon.
Ich finde halt eine Zahl lesbarer als eine NOP-Kette. Ist aber letztendlich wurscht.
- - - Aktualisiert - - -
Nun warten wir auf ein Foto oder Video :cool:
Glückwunsch
Das mit den delay muss ich mir nochmal anschauen.
Danke für die Info Witkatz:
Das mit dem Video macht sich garnicht gut, man erkennt nicht annähernd die schönen Farben, das sieht immer weiss aus...
Ich hab es aber mal im Dunkeln gefilmt, nicht schön, besser wie nix.
https://www.dropbox.com/s/mr6gkga5mxkh98k/RGB.MOV?dl=0
hier noch die komplexe1 Schaltung: :)
Anhang 33302
rot Plus
blau Minus
grün Datenleitung zu den Leds2
Siro