--De DWIN Developer Forum
Este problema para que impulse o galardonado caso de código aberto de DWIN Developer Forum - DWIN control de pantalla WS2812 iluminación ambiental, enxeñeiros a través do núcleo do sistema operativo da pantalla intelixente COF para controlar con precisión o cinto de luz fantasma WS2812 de cada cor de conta de lámpada, para lograr o cambio de cor dos efectos dinámicos do cinto.
1.Material da IU
3. Proxecto C51
O código do controlador para controlar a cor da luz a través do porto IO é o seguinte:
void WS2812_Write_RGB()
{
u8 i,j,a;
EA=0;
for(j=0;j<3;j++)//Número de transmisións necesarias para cada luz
{
a=RGB_One[j];
para(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;
}
void WS2812_RST()
{
WS2812_DI=0;
sys_delay_ms(1);
}
void WS2812_DIS_1()//Efecto 1, conmutación de cores, todas as cores LED, un total de 7 cores básicas
{
estático u8 j=1;
u16 i=0;
if(j&0X01) RGB_One[1]=10;se non RGB_One[1]=0;
if(j&0X02) RGB_One[0]=10;se non RGB_One[0]=0;
if(j&0X04) RGB_One[2]=10;se non RGB_One[2]=0;
j%=7;
j++;
para (i=0;i
WS2812_Write_RGB();
WS2812_RST();
sys_delay_ms(1000);
}
Hora de publicación: 31-xan-2024