找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 978|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

請教一個單片機WS2812流水燈程序的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:891876 發(fā)表于 2024-11-11 19:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是一段控制WS2812從中間向兩邊亮的函數(shù),想請教怎樣改成從兩邊向中間亮呢?改了幾次沒都成功



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:136485 發(fā)表于 2024-11-12 08:44 | 只看該作者
你既然知道從中間往兩邊流,那為什么不明白從兩邊到中間流呢,好好想一想,就比如你的燈24路,那就是一個1開始加到12為停止,一個24減到12停止,兩個同時開始流,不就實現(xiàn)了
回復(fù)

使用道具 舉報

板凳
ID:404160 發(fā)表于 2024-11-12 09:33 | 只看該作者
調(diào)整循環(huán)的起始和結(jié)束條件,以及數(shù)組索引的計算方式。修改后的代碼:

```c
void WaterLampToCol3(unsigned long _uColor, unsigned char _uTime)
{
    unsigned char i;
    for (i = 0; i < nWs; i++)
    {
        WsDat[i] = _uColor;
        WsDat[nWs - 1 - i] = _uColor;
        WS_L_SetAll();
        delay_ms(_uTime);
    }
    reset();
}
```

1. 循環(huán)從 `i = 0` 開始,而不是 `i = nWs/2`。
2. 將 `WsDat[nWs/2 - (i - nWs/2)]` 改為 `WsDat[i]` 和 `WsDat[nWs - 1 - i]`,這樣就會先設(shè)置數(shù)組的兩端,然后逐漸向中間設(shè)置。


回復(fù)

使用道具 舉報

地板
ID:891876 發(fā)表于 2024-11-12 13:33 | 只看該作者
飛云居士 發(fā)表于 2024-11-12 09:33
調(diào)整循環(huán)的起始和結(jié)束條件,以及數(shù)組索引的計算方式。修改后的代碼:

```c

感謝指導(dǎo)!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表