Hallo liebe Forengemeinde, ich versuche nun schon seit geraumer Zeit eine RGB LCD-Stripe in Betrieb zu nehmen. Der Chip auf dieser LED-Stripe ist der WS2811 welcher extrem kurze Timings hat (siehe Bild im Anhang). Und genau diese kurzen Timings sind mein Problem. Nun habe ich verschiedene Ansätze im Netz gefunden (von SPI über I2C bis zu one-Wire) allerdings nirgends ein konkretes Beispiel an welchem ich mich orientieren kann. Deswegen meine Frage, wie bekomme ich es hin mit meinem atmega8 (welche mit 8Mhz und externem Quarz) läuft so genaue Timngs hin ? MfG.
Viele scheinen dafür die fastspi-lib zu benutzen: http://code.google.com/p/fastspi/ Habe ich selbst allerdings noch nicht getestet.
für die fastspi-lib war ich irgendwie zu unfähig, da hat beim kompilieren immer was gefehlt. Habs aber jetzt dennoch hinbekommen indem ich die Timings durch den Befehl asm volatile ("nop"); zusammengeschustert habe (ist zwar nicht sonderlich professionell aber es funktioniert ;) ) MfG
Ja, entweder der Ansatz von Tim (allerdings bist Du dann momentan (noch) auf die 8MHz festgenagelt). Ich habe auch eine Funktion implementiert, mit Timer oder beim XMega sogar mit DMA. Benötigt allerdings entweder einen ATtiny25/45/85 oder einen anderen ATmega der einen Timer mit zwei compare Registern unterstützt (z.B. ATmega168)... Beitrag "AVR ASM ws2811 / ws2812 Ansteuerung mit FastPWM" Grüße Markus
Ich danke euch das ihr da Zeit investiert habt ;) Ich habs mittlerweile auch hinbekommen, mittels SPI welches mit double speed läuft sprich mit 4mhz. MfG.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.