Hallo, Für meinen Schaltungsentwurf liegt dieser Thread zu Grunde: Beitrag "Levelconverter von 2.5-3 auf 5V mit Mosfet-oder Bipolartransistor?" Ich habe den SN74AHCT1G14 genommen. Diesen habe ich auf ne kleine Lochrasterplatine aufgelötet und auf meinem Steckbrett in den Rest der Schaltung integriert. Funktion des Inverters mittels LED verifiziert. Wenn ich jetzt am Eingang die Datenleitung für meine WS2812B-LED anschließe und am Ausgang die LED, dann passiert: Nichts :( Die zugehörige Codebibliothek habe ich aus Tims Projekt: https://github.com/cpldcpu/light_ws2812 Dort habe ich in dieser Datei (https://github.com/cpldcpu/light_ws2812/blob/master/light_ws2812_AVR/Light_WS2812/light_ws2812.c#L110) die Masken dahingehend geändert:
1 | masklo |= maskhi&ws2812_PORTREG; |
2 | maskhi = ~ws2812_PORTREG; |
(Interessanterweise funktioniert die LED mit beiden Varianten, also ohne Inverter.) Die Frage ist, warum dieses Signal anscheinend nicht korrekt durch den Inverter kommt, obwohl dessen Timing im unteren Nanosekundenbereich liegt, also weit schneller schalten kann, als die Daten gesendet werden. Habt ihr irgendwelche Tipps für mich? Leider hat mir Tim nur gesagt, dass ich "die Masken verändern" muss. Evtl. liegt da schon ein Fehler. Beitrag "Re: Lightweight WS2811/WS2812 Library" Danke im Voraus. Hannes