STM32
直播中

王兰

13年用户 1696经验值
擅长:基础元器件
私信 关注
[问答]

求助,关于在STM8S用FOR遇到的疑问求解

我用了一块STM8F103F3P,TSSOP20封装的最小系统板,直接连接WS2811的灯条,用数组来存贮要发送的数据,发送是这样写的:
/***********************
函数功能:发送LED_DATA数组的数据
输入参数:无
输出参数:无
备    注:无
***********************/
void send_string_data()
{
                u8 i;
                sim();//关总中断,防止发送数据中出错
                for(i=0;i

回帖(1)

张国厚

2024-5-16 18:08:07


1. 确保您的数组已正确初始化,并且包含了要发送给WS2811的数据。

2. 使用for循环遍历数组,并将每个数据位发送到WS2811。

以下是一个简化的示例,展示了如何使用for循环发送数据:

```c
void send_string_data() {
    u8 i;
    sim(); // 关总中断,防止发送数据中出错

    for (i = 0; i < LED_DATA_LENGTH; i++) {
        // 发送数据位
        send_bit(LED_DATA[i]);
    }
}
```

在这个示例中,`LED_DATA`是一个包含要发送的数据的数组,`LED_DATA_LENGTH`是数组的长度。`send_bit()`函数负责发送单个数据位。

3. 确保您的发送函数(如`send_bit()`)正确地发送了数据。WS2811需要特定的时间间隔来识别数据位,因此您可能需要使用定时器或延时函数来实现这一点。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分