如何在 raspberry pi 上从 C 驱动点星带

how to drive a dotstar strip from C on a raspberry pi

我试图弄清楚如何通过在 raspberry pi 上从 C 调用 write(handle, datap, len) 到 SPI 句柄来驱动 dotstart strip。我不太清楚如何布置数据。

看着 https://cdn-shop.adafruit.com/datasheets/APA102.pdf#page=3 让我觉得你从 4 个字节的 0 开始,一串编码的 LED 值(每个 LED 4 个字节)然后是 4 个字节的 1。但那是不对的; 1 的最后 4 个字节与将 LED 设置为全亮度白色的请求无法区分。那怎么能终止数据呢?

欢迎有识之士。是的,我知道那里有一个 python 库,但我正在用 C++ 或 C 编码。

经过大量挖掘,我在这里找到了答案: https://cpldcpu.wordpress.com/2014/11/30/understanding-the-apa102-superled/ 结束框架比规范建议的更复杂,但如果您的灯串有 32 个 LED,则规范是正确的,并且您必须始终为灯串中的所有 LED 指定值。