本文來源電子發(fā)燒友社區(qū),作者:full_stack, 帖子地址:https://bbs.elecfans.com/jishu_2293782_1_1.html
根據(jù)原理圖,
參考控制LED的代碼,
計(jì)算120M控制WS2812延時(shí)時(shí)間。
主要代碼如下,
void WS_Set_One(unsigned long dat)
{
unsigned char i;
for(i=0; i<24; i++)
{
if(0x800000 == (dat & 0x800000) ) {GpioDataRegs.GPASET.bit.GPIO19 = 1; delay_250ns(); delay_250ns(); delay_250ns(); GpioDataRegs.GPACLEAR.bit.GPIO19 = 1; delay_250ns();}
else {GpioDataRegs.GPASET.bit.GPIO19 = 1; delay_250ns(); GpioDataRegs.GPACLEAR.bit.GPIO19 = 1; delay_250ns(); delay_250ns(); delay_250ns();}
dat <<= 1;
}
}
void WS_SetAll(unsigned long dat, unsigned char led_num)
{
unsigned char j;
for(j=0; jWS_Set_One(dat);
}
DELAY_US(300);
}
void Led_Cycle_Run(void)
{
unsigned char i;
for(i = 0; i < 30; i++)
{
WS_SetAll(0xFFFFFF, i);
DELAY_US(34000);
DELAY_US(34000);
}
}
;>
延時(shí)函數(shù)如下
void delay_250ns(void)
{
unsigned int i;
for(i=0; i<30; i++);
}
目前能實(shí)現(xiàn)控制燈條流水效果,
但是這個(gè)延時(shí)函數(shù)有問題,感覺,延時(shí)一條代碼的時(shí)間,實(shí)際卻很長(zhǎng),
造成無論發(fā)0碼還是1碼,都顯示為1碼。
-
中科昊芯
+關(guān)注
關(guān)注
5文章
80瀏覽量
5184 -
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2109
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論