Hellou
Ich habe eine frage, an alle die den ws2801 chip in und auswenig kennen.
ich habe eine sehr interessante teensy firmware, welche daten vom usb bus entgegen nimmt und direkt auf den output pots ausgibt. somit kann man mit einem teensy sehr viele (ca. max 5000) pixel ansteuern (aufgeteilt in 8 output lines).
die firmware wurde ursprünglich für lpd8806 chips gemacht, funktionierte aber auf anhieb auch auf ws2801 pixel, da die logik nicht mehr in der firmware liegt, sondern in der applikation selber.
nun das problem: wenn ich zb. 50x8 pixel ansprechen will, muss ich mehrere usb pakete senden (grösse pro usb paket: 64byte). "normalerweise" ist dies kein problem, ist der rechner jedoch ausgelastet, kann es sein das die usb pakete verzögert rausgeschickt werden. ist diese verzögerung grösser als 500us (und die clock line low ist) schaut der ws2801 den datentransfer als beendet an und zeigt die neuen daten an. das führt dann natürlich zu fehler in der anzeige.
was nun? ich habe versucht, die clock line auf high zu belassen, bis ich die letzten daten rausgeschickt habe, leider ohne erfolg (geflacker). daher meine frage: ist es möglich den datentransfer zeitlich zu verzögern? zb. wie mein versuch, die clock line auf high zu belassen? oder habe ich da keine chance?
beim lpd8806 ists einfacher, da es control bytes gibt, welche den datentransfer abschliessen.
gruss
michu