--Do Fórum de Desenvolvedores DWIN
Esta edição tem como objetivo apresentar o premiado projeto de código aberto do Fórum de Desenvolvedores DWIN - DWIN screen control WS2812 ambient lighting. Através do núcleo do sistema operacional inteligente COF, os engenheiros controlam com precisão a cor de cada LED da faixa de iluminação WS2812, permitindo a criação de efeitos dinâmicos de troca de cores na faixa.
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 de E/S é o seguinte:
void WS2812_Write_RGB()
{
u8 i,j,a;
EA=0;
for(j=0;j
{
a=RGB_One[j];
para(i=0;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
WS2812_DI=0;
}
WS2812_DI=0;
}
EA=1;
}
void 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 i=0;
se(j&0X01) RGB_One[1]=10;senão RGB_One[1]=0;
se(j&0X02) RGB_One[0]=10;senão RGB_One[0]=0;
se(j&0X04) RGB_One[2]=10;senão RGB_One[2]=0;
j%=7;
j++;
para(i=0;i
WS2812_Write_RGB();
WS2812_RST();
sys_delay_ms(1000);
}
Data da publicação: 31 de janeiro de 2024




