--Från DWIN Developer Forum
Denna fråga för dig att driva det prisbelönta fallet med öppen källkod av DWIN Developer Forum - DWIN skärmkontroll WS2812 omgivningsbelysning, ingenjörer genom COF intelligenta skärm OS-kärna för att noggrant kontrollera WS2812 fantomljusbältet varje lamppärls färg, för att uppnå färgbyte av bältets dynamiska effekter.
1.UI Material
3. C51-projekt
Drivrutinskoden för att styra ljusets färg genom IO-porten är följande:
ogiltig WS2812_Write_RGB()
{
u8 i,j,a;
EA=0;
for(j=0;j<3;j++)//Antal sändningar som krävs för varje ljus
{
a=RGB_One[j];
för(i=0;i<8;i++)
{
WS2812_DI=1;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); );_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); );_nop_();_nop_();_nop_();
WS2812_DI=(a&0x80);
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
a<<=1;
WS2812_DI=0;
}
WS2812_DI=0;
}
EA=1;
}
ogiltig WS2812_RST()
{
WS2812_DI=0;
sys_delay_ms(1);
}
void WS2812_DIS_1()//Effekt 1, färgväxling, alla LED-färger, totalt 7 grundfärger
{
statisk u8 j=1;
u16 i=0;
if(j&0X01) RGB_One[1]=10;annars RGB_One[1]=0;
if(j&0X02) RGB_One[0]=10;annars RGB_One[0]=0;
if(j&0X04) RGB_One[2]=10;annars RGB_One[2]=0;
j%=7;
j++;
för(i=0;i
WS2812_Write_RGB();
WS2812_RST();
sys_delay_ms(1000);
}
Posttid: 2024-jan-31