连续多个

This commit is contained in:
2025-01-17 21:37:00 +08:00
parent ecb8ff9d6a
commit aa411f8d5f
7 changed files with 148 additions and 137 deletions

View File

@@ -55,13 +55,8 @@ const RGBColor_TypeDef LT_GREEN = {32, 0, 0};
const RGBColor_TypeDef LT_BLUE = {0, 0, 32};
const RGBColor_TypeDef LT_WHITE = {16, 16, 16};
const RGBColor_TypeDef LED_OFF = {0, 0, 0};
const RGBColor_TypeDef LED_ON = {255, 255, 255};
//灯处于特定颜色还是闪烁状态
uint8_t LED_Blink_Staue[LED_NUM]={0};
// 灯闪烁颜色缓存
RGBColor_TypeDef LED_Blink_Color[LED_NUM] = {0};
// 灯颜色缓存
RGBColor_TypeDef RGB_Data[LED_NUM] = {0};
@@ -166,58 +161,7 @@ void Set_LEDColor(uint16_t LedId, RGBColor_TypeDef Color)
RGB_Data[LedId].R = Color.R;
RGB_Data[LedId].B = Color.B;
}
void LED_Set(uint16_t LedId, RGBColor_TypeDef Color)
{
LED_Blink_Staue[LedId]=0;
RGB_Data[LedId].G = Color.G;
RGB_Data[LedId].R = Color.R;
RGB_Data[LedId].B = Color.B;
RGB_Reflash();
}
void LED_Blink(uint16_t LedId, RGBColor_TypeDef Color)
{
LED_Blink_Staue[LedId]=1;
LED_Blink_Color[LedId]=Color;
// while(1)
// {
// LED_Set(LedId,Color);
// rt_thread_mdelay(500);
// LED_Set(LedId,LED_OFF);
// rt_thread_mdelay(500);
// }
}
void LED_LITTLE_TEST(void)
{
uint8_t LED_Blink_ON=1;
while(1)
{
for(int LedId=0;LedId<LED_NUM;LedId++)
{
if(LED_Blink_Staue[LedId])
{
if(LED_Blink_ON)
{
Set_LEDColor(LedId,LED_Blink_Color[LedId]);
}
else
{
Set_LEDColor(LedId,LED_OFF);
}
}
}
LED_Blink_ON=!LED_Blink_ON;
RGB_Reflash();
rt_thread_mdelay(500);
}
// LED_Set(1,LED_RED);
// rt_thread_mdelay(4000);
// LED_Toggle(1,LED_RED);
// rt_thread_mdelay(4000);
// LED_Set(1,LED_RED);
// rt_thread_mdelay(4000);
// LED_Toggle(1,LED_RED);
// rt_thread_mdelay(4000);
}
/**
* @brief TIM发送控制ws2812
* @param[in] 待发送缓存

View File

@@ -21,9 +21,7 @@ extern const RGBColor_TypeDef LED_RED;
extern const RGBColor_TypeDef LED_BLUE;
extern const RGBColor_TypeDef LED_WHITE;
extern void Set_LEDColor(uint16_t LedId, RGBColor_TypeDef Color);
extern void LED_Set(uint16_t LedId, RGBColor_TypeDef Color);
extern void LED_Blink(uint16_t LedId, RGBColor_TypeDef Color);
extern void RGB_Reflash(void);
extern void LED_LITTLE_TEST(void);
extern void led_matrix_rst();
#endif