Das sollte doch kein wirkliches Problem sein. Ein HCT14 schafft 10MHz locker, das haben ja alte LS-TTL Gatter schon geschafft. Und wenn man die Signalpolarität nicht im µC anpassen kann, zwei hintereinander.
Wirklich entspannter ist es nicht. Wenn ich einen SPI-Controller mit 10MHz bediene, muß ich auch knapp alle µs ein Byte an den SPI-Controller liefern, sonst gibts einen Underun-Error. Das klappt genauso gut oder schlecht per Interrupt wie beim Neopixel. Gewinnen kann ich eigentlich nur mit einem Fifo am SPI oder einem DMA.
Was aber sicher richtig ist, daß man es beim Bitbanging leichter hat. Da man bei SPI als Master den Clock selbst erzeugt, ist man nicht auf ein genaues Timing angewiesen. Man kann also so schnell man kann 8 Bit raustakten und dann das nächte Byte aus dem Speicher holen. Die entstehende Pause ist unproblematisch. Wenn es aber stimmt, das man bei den WS die Länge der Low-Zeit auch etwas länger ausfallen lassen kann, geht das auch mit denen.
Für die 64 LEDs, die man auch nur einige wenige Male in der Sekunde updaten muß, ist das höchsten ein Problem für BASCOM. Da bräuchte man eine Unterstützung durch eine eingebaute Funktion, wie die Neopixel-Libraries beim Arduino. In C und sicher auch in Assembler geht das aber, wie man hier sieht. Die 57 LEDs sind nicht weit weg von 64.
MfG Klebwax
Lesezeichen