Today, I updated the program on the product by referring to LP5024 sample reservation
I2C has checked the data values and the procedure seems to be correct, but it is not working at all.
Look at the codes below and ask for advice.
#define LED_SLAVE_ADDRESS 0x28 (ADDR0 : 0, ADDR1 : 0)
void LP5024_Init(void)
{
LP5024_Initialization();
_delay_ms(1);
LP5024_Mode_Select_Normal();
LP5024_LED_CONFIG0(0xFF);
LP5024_Device_Config1(0x3e);
LP5024_Bank_Brightness_Set(0);
LP5024_Bank_Color_Set(255,255,255);
}
void LP5024_Mode_Select_Normal(void)//Set Chip_EN=1 to enter NORMAL mode
{
BYTE data[2];
data[0] = DEVICE_CONFIG0; // 0x00
data[1] = 0x40;
LP5024_SendData(LED_SLAVE_ADDRESS, data, 2);
}
void LP5024_LED_CONFIG0(BYTE Dat)
{
BYTE data[2];
data[0] = LED_CONFIG0; // 0x02
data[1] = Dat;
LP5024_SendData( LED_SLAVE_ADDRESS, data, 2);
}
void LP5024_Device_Config1(BYTE Dat)
{
BYTE data[2];
data[0] = DEVICE_CONFIG1; // 0x01
data[1] = Dat;
LP5024_SendData(LED_SLAVE_ADDRESS, data, 2);
}
void LP5024_Bank_Brightness_Set(char mBANK_BRIGHTNESS)
{
BYTE data[2];
data[0] = BANK_BRIGHTNESS; // 0x03
data[1] = mBANK_BRIGHTNESS;
LP5024_SendData(LED_SLAVE_ADDRESS, data, 2);
}
void LP5024_Bank_Color_Set(char mBANK_A_COLOR, char mBANK_B_COLOR, char mBANK_C_COLOR)
{
BYTE data[6];
data[0] = BANK_A_COLOR; // 0x04
data[1] = mBANK_A_COLOR;
data[2] = BANK_B_COLOR; // 0x05
data[3] = mBANK_B_COLOR;
data[4] = BANK_C_COLOR; // 0x06
data[5] = mBANK_C_COLOR;
LP5024_SendData(LED_SLAVE_ADDRESS ,data, 6);
}