WS2812 DMA 傳輸問題

#define PIXEL_NUM? ? ? ?256

#define END_LED_NUM? ? ?(PIXEL_NUM-1)

#define PIXEL_COLUMN 16

#define PIXEL_ROW ? ? 16

#define BRINGNESS? ? ? ?64


#define NUM? ? ? ? ? ? ?(24*PIXEL_NUM + 300)? ? ? ? // Reset 280us / 1.25us = 224

#define WS1? ? ? ? ? ? ?37

#define WS0? ? ? ? ? ? ?18



__attribute__((aligned(4))) uint32_t WS281xBuf[NUM];


void WS2812B_Init(void)

{


? ? GPIOB_ModeCfg(GPIO_Pin_11, GPIO_ModeOut_PP_5mA);


? ? GPIOPinRemap(ENABLE, RB_PIN_TMR2);


? ? PRINT("TMR2 DMA PWM\n");


? ? TMR2_PWMCycleCfg(75); // 周期 1.25us


? ? ARGB_FillRGB(0,0,0);

? //? WS281X_ALL_LED(0); //緩沖區(qū)清零


? ? TMR2_DMACfg(ENABLE,(uint16_t)(uint32_t)&WS281xBuf[0],(uint16_t)(uint32_t)&WS281xBuf[NUM], Mode_LOOP);


? ? TMR2_PWMInit(High_Level, PWM_Times_1);


? ? TMR2_ClearITFlag(TMR1_2_IT_DMA_END);


//? ? PFIC_EnableIRQ(TMR2_IRQn);

//

//? ? TMR2_ITCfg(ENABLE, TMR1_2_IT_DMA_END);



}

網(wǎng)上找的例程驅(qū)動256 顆WS2812 燈珠,顯示正常。所需的字節(jié)是(24*PIXEL_NUM + 300)*4 =25776 ,內(nèi)存浪費(fèi)嚴(yán)重。請教下如何精簡?修改uint32_t WS281xBuf[NUM] 數(shù)組為uint16_t 類型,燈不亮了

是因?yàn)镈MA緩存區(qū)地址必須4字節(jié)對齊嗎?有沒有更好的建議呢,驅(qū)動256顆燈內(nèi)存就不夠用了。?


DMA緩存地址必須4字節(jié)對齊,這是手冊中標(biāo)注的硬性要求。

不用TMR的PWM功能,改用SPI模擬波形,可以節(jié)省ram。您可以留個(gè)郵箱,給您發(fā)demo。


個(gè)人信息保護(hù),已隱藏? 謝謝,用的芯片是CH582M。另外請教一下,將所有數(shù)據(jù)分批用DMA發(fā)送到PWM,這樣能否實(shí)現(xiàn)


只有CH573做的SPI協(xié)議的WS2812燈驅(qū),已發(fā)送至郵箱。
沒有試過TMR方式分批發(fā)。讀flash、memcpy到ram中,需要一定的時(shí)間開銷,如果中途命令斷了,燈效要從燈帶頭開始刷新了。


麻煩也發(fā)一份例程給我 謝謝? 個(gè)人信息保護(hù),已隱藏

因?yàn)槲襍PI被其他設(shè)備使用了 我自己用模擬的方式點(diǎn)亮了ws2812b 但是會出現(xiàn)燈閃爍其他顏色的問題

是否用PWM可以解決這個(gè)問題 有PWM例程嗎?



個(gè)人信息保護(hù),已隱藏麻煩發(fā)送一份


已發(fā)送至郵箱,請查收。
CH573的ram資源有限,在應(yīng)對燈珠數(shù)量較多的燈帶時(shí)建議使用SPI;若燈珠數(shù)量不多,用定時(shí)器+DMA產(chǎn)生PWM的方式也是可以驅(qū)動的?!?span style="color:rgb(51,51,51);">燈閃爍其他顏色”最好是抓個(gè)波形分析,檢查哪一段波形有偏差。


SPI模擬波形 WS2812 個(gè)人信息保護(hù),已隱藏?麻煩發(fā)送一份


已發(fā)送至郵箱,請查收。


spi+dma上電的時(shí)候第一個(gè)燈顏色異常是什么情況


查看SPI發(fā)送的數(shù)據(jù),抓取波形,并判斷跟燈的顏色是否對應(yīng)的上。

可以看下初始化的電平是否跟燈控顏色波形一致。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频