#include "WS2812.h" #define LED_GPIO (GPIO_PIN_7) void w28delay(uint32_t nTimer) { uint32_t i=0; for(i=0;iBSRR = LED_GPIO; __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); // w28delay(0); GPIOB->BRR = LED_GPIO; // __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); // GPIOB->BSRR = LED_GPIO; // w28delay(0); } void RGB_Set_Down() { GPIOB->BSRR = LED_GPIO; __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); // __NOP(); //w28delay(0); GPIOB->BRR = LED_GPIO; __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); //w28delay(0); } //void RGB_Set(uint32_t G8R8B8) //{ // int i; // uint8_t byte=0; // for(i=23;i>=0;i--) // { // byte = ((G8R8B8>>i)&0x1); // if(byte == 1) // { // RGB_Set_Up(); // }else{ // RGB_Set_Down(); // } // // } //} void RGB_Set(uint32_t G8R8B8) { if(G8R8B8==RED) {RGB_Set_RED();} if(G8R8B8==GREEN) {RGB_Set_GREEN();} if(G8R8B8==BLUE) {RGB_Set_BLUE();} if(G8R8B8==WHITE) {RGB_Set_WHITE();} if(G8R8B8==LEDOFF) {RGB_Set_LEDOFF();} } void RGB_Rst(void) { GPIOB->BRR=LED_GPIO; w28delay(500); // GPIOB->BSRR = 0X0080; } //uint32_t led1,led2,led3,led4,led5; void Set4LEDColor(uint32_t firstled,uint32_t secondled,uint32_t thirdled,uint32_t fourthled) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET); //__disable_irq(); RGB_Rst(); // RGB_Set(firstled); // RGB_Set(secondled); // RGB_Set(thirdled); // RGB_Set(fourthled); RGB_Set(fourthled); RGB_Set(thirdled); RGB_Set(secondled); RGB_Set(firstled); // RGB_Set(firstled); // RGB_Set(secondled); // RGB_Set(thirdled); // RGB_Set(fourthled); //__enable_irq(); RGB_Rst(); } void RGB_Set_RED(void) { RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); } void RGB_Set_GREEN(void) { RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); } void RGB_Set_BLUE(void) { RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); } void RGB_Set_WHITE() { RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); RGB_Set_Up(); } void RGB_Set_LEDOFF(void) { RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); RGB_Set_Down(); } void Set4LEDColor_Off(void) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET); }