標(biāo)題: 使用SPI驅(qū)動(dòng)WS2812調(diào)試呼吸燈效果不行 [打印本頁]

作者: 2260657125    時(shí)間: 2024-3-18 16:36
標(biāo)題: 使用SPI驅(qū)動(dòng)WS2812調(diào)試呼吸燈效果不行
我使用的芯片是靈動(dòng)微MM32G0001,芯片不支持DMA,RGB的驅(qū)動(dòng)代碼也是網(wǎng)上參考別人的,但是在做呼吸燈效果的時(shí)候,會(huì)出現(xiàn)閃爍,求大佬解答一下                        if(++rgbTime > 10)//10ms
                        {
                                rgbTime = 0;
                                
                                WS2812B_SendColor(Time_1,0,0);
                                
                                if(Time_2 == 0)
                                {
                                        if(Time_1 < 255)
                                        {
                                                Time_1 ++;
                                        }
                                }
                                else
                                {
                                        if(Time_1 > 0)
                                        {
                                                Time_1 --;
                                        }
                                }
                                
                                if(Time_1 == 255)
                                {
                                        Time_2 = 1;
                                }
                                else if(Time_1 == 0)
                                {
                                        Time_2 = 0;
                                }
                        }


5fa17eab1fd62ce58bc064292b91f6f4.gif (1.18 MB, 下載次數(shù): 97)

5fa17eab1fd62ce58bc064292b91f6f4.gif

作者: villain_tian    時(shí)間: 2024-3-18 19:55
嗯,我覺得可能是 SPI 通信的問題。你可以檢查一下 SPI 的接線是否正確,還有時(shí)鐘頻率這些設(shè)置。確保 SPI 接口的配置正確,包括時(shí)鐘頻率、數(shù)據(jù)位順序、極性等?梢詤⒖夹酒囊(guī)格說明書和 WS2812 的數(shù)據(jù)手冊(cè)進(jìn)行配置。
作者: Graves    時(shí)間: 2024-3-19 09:11
不知道WS2812B_SendColor函數(shù)是怎樣的,如果這個(gè)函數(shù)只是用spi通訊發(fā)Time_1這個(gè)變量值,那肯定是達(dá)不到呼吸燈效果。spi發(fā)2812時(shí)序是以1byte代替一個(gè)“1”或“0”時(shí)序,那么一個(gè)燈就應(yīng)該發(fā)24個(gè)byte數(shù)據(jù)。調(diào)用WS2812B_SendColor函數(shù)會(huì)發(fā)24位數(shù)據(jù)嗎
作者: Y_G_G    時(shí)間: 2024-3-19 09:13
我沒有認(rèn)真看過WS2812的其它參數(shù),在我印象中2812不是SPI通訊的,論壇中也有WS2812的代碼,我之前就是從論壇上復(fù)制的
作者: 2260657125    時(shí)間: 2024-3-19 11:28
villain_tian 發(fā)表于 2024-3-18 19:55
嗯,我覺得可能是 SPI 通信的問題。你可以檢查一下 SPI 的接線是否正確,還有時(shí)鐘頻率這些設(shè)置。確保 SPI  ...

謝謝提醒,今天早上用示波器抓了數(shù)據(jù),是因?yàn)榘l(fā)送數(shù)據(jù)bit位的順序有問題導(dǎo)致的
作者: 2260657125    時(shí)間: 2024-3-19 11:30
問題已經(jīng)解決,感謝大家的幫助
作者: DAI031    時(shí)間: 2024-4-29 22:28
小伙子好好干,看好你




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1