欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

請(qǐng)教一個(gè)關(guān)于單片機(jī)驅(qū)動(dòng)RGB彩燈的問(wèn)題,目前已經(jīng)成功點(diǎn)亮8顆

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本人使用STC15單片機(jī)驅(qū)動(dòng)RGB彩燈 時(shí)鐘為30M 通過(guò)IO口反轉(zhuǎn)來(lái)產(chǎn)生彩燈的數(shù)據(jù)時(shí)序(0碼和1碼)根據(jù)官方給出資料已經(jīng)成功亮燈:


想跟老鐵請(qǐng)教幾個(gè)問(wèn)題:
現(xiàn)在的這種全彩燈跟普通LED不太一樣比如要實(shí)現(xiàn)最簡(jiǎn)單跑馬燈  花樣流水燈好像比一般的LED要復(fù)雜一些(只是我個(gè)人覺(jué)得
可能是我還不太了解)
目前實(shí)現(xiàn)單個(gè)顏色點(diǎn)亮和切換顏色已經(jīng)實(shí)現(xiàn)  數(shù)據(jù)手冊(cè)中寫(xiě)道一顆燈就需要24Bit 即3個(gè)字節(jié)的數(shù)據(jù)并且需要接收完畢24Bit才能點(diǎn)亮(我的這是GRB順序)
那么我的是八個(gè)燈珠  就需要循環(huán)發(fā)送24個(gè)字節(jié)即可點(diǎn)亮8個(gè)燈珠 原理是大致弄明白了一些,
《比如實(shí)現(xiàn)流水燈  這數(shù)據(jù)應(yīng)該怎么發(fā)???》這幾天一直在研究這問(wèn)題,到網(wǎng)站查資料結(jié)果都是STM32 的較多沒(méi)找到比較相近的參考。。
所以向論壇的老鐵求助以下了!

以下為部分單片機(jī)驅(qū)動(dòng)代碼:
此代碼只是在本人單片機(jī)里調(diào)試結(jié)果可以驅(qū)動(dòng)  如果別的單片機(jī)可能需要對(duì)_nop_(); 做適當(dāng)調(diào)整
//========================================================================
// 描述: 1碼,高電平850ns 低電平400ns 誤差正負(fù)150ns.   
// 參數(shù): none.
// 返回: none.
//========================================================================
void WS2812_Write_1()
{
        WS2812_Data_GPIO = 1;
        //經(jīng)過(guò)邏輯分析儀調(diào)試的的延時(shí)
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
        WS2812_Data_GPIO = 0;
}

//========================================================================
// 描述: 0碼,高電平400ns 低電平850ns 誤差正負(fù)150ns.
// 參數(shù): none.
// 返回: none.
//========================================================================
void WS2812_Write_0()
{
        WS2812_Data_GPIO = 1;
        //經(jīng)過(guò)邏輯分析儀調(diào)試的的延時(shí)
        _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
        WS2812_Data_GPIO = 0;
}

//========================================================================
// 描述: 發(fā)送24位數(shù)據(jù).
// 參數(shù): 綠色8位,紅色8位,藍(lán)色8位.
// 返回: none.
//========================================================================
void rgb_write(uint8 G8, uint8 R8, uint8 B8)
{
        unsigned int n = 0;
        //發(fā)送G8位
        EA = 0;
        for (n = 0; n < 8; n++)
        {

                if ((G8 & 0x80) == 0x80)
                {
                        rgb_set_up();
                }
                else
                {
                        rgb_set_down();
                }
                G8 <<= 1;
        }
        //發(fā)送R8位
        for (n = 0; n < 8; n++)
        {

                if ((R8 & 0x80) == 0x80)
                {
                        rgb_set_up();
                }
                else
                {
                        rgb_set_down();
                }
                R8 <<= 1;

        }
        //發(fā)送B8位
        for (n = 0; n < 8; n++)
        {

                if ((B8 & 0x80) == 0x80)
                {
                        rgb_set_up();
                }
                else
                {
                        rgb_set_down();
                }
                B8 <<= 1;
        }
}

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

使用道具 舉報(bào)

沙發(fā)
ID:267932 發(fā)表于 2021-4-21 17:29 | 只看該作者
建議SPI  加DMA的方法控制。
回復(fù)

使用道具 舉報(bào)

板凳
ID:232366 發(fā)表于 2021-4-21 17:33 | 只看該作者
zhai1995 發(fā)表于 2021-4-21 17:29
建議SPI  加DMA的方法控制。

目前C知識(shí)比較淡薄   還不會(huì)用SPI  DMA    尷尬想著先用些笨辦法先學(xué)習(xí)以下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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