如何在树莓派上从C驱动dotstar条

问题描述

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

看看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指定值。