--Do Fórum de Desenvolvedores DWIN
Esta edição para você empurrar o premiado caso de código aberto do DWIN Developer Forum - controle de tela DWIN WS2812 iluminação ambiente, engenheiros através do núcleo do sistema operacional de tela inteligente COF para controlar com precisão o cinto de luz fantasma WS2812 de cada cor do cordão da lâmpada, para obter a troca de cores dos efeitos dinâmicos do cinto.
1.Material da interface do usuário
3. Projeto C51
O código do driver para controlar a cor da luz através da porta IO é o seguinte:
vazio WS2812_Write_RGB()
{
u8 eu,j,a;
EA=0;
for(j=0;j<3;j++)//Número de transmissões necessárias para cada luz
{
a=RGB_One[j];
para(eu=0;eu<8;eu++)
{
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_();
uma<<=1;
WS2812_DI=0;
}
WS2812_DI=0;
}
EA=1;
}
vazio WS2812_RST()
{
WS2812_DI=0;
sys_delay_ms(1);
}
void WS2812_DIS_1()//Efeito 1, troca de cores, todas as cores do LED, um total de 7 cores básicas
{
estático u8 j=1;
u16 eu=0;
if(j&0X01) RGB_One[1]=10;else RGB_One[1]=0;
if(j&0X02) RGB_One[0]=10;else RGB_One[0]=0;
if(j&0X04) RGB_One[2]=10;else RGB_One[2]=0;
j%=7;
j++;
para (eu=0;eu
WS2812_Write_RGB();
WS2812_RST();
sys_delay_ms(1000);
}
Horário da postagem: 31 de janeiro de 2024