Each RGB colour of the background light is controlled by an individual 16 bit PWM generator.
The brightness of each RGB colour can be regulated from 0x0000 (0% / off) to 0xffff (100%). To adapt the brightness curve to the human eye an adaption to a logarithmic scale has to be done manually.
The code snippets below show how to set the background light on the LCD.
#include "reg_ctboard.h" CT_LCD->BG.RED = (uint16_t) data_halfword; /* Set PWM value for red background light. */ CT_LCD->BG.GREEN = (uint16_t) data_halfword; /* Set PWM value for green background light. */ CT_LCD->BG.BLUE = (uint16_t) data_halfword; /* Set PWM value for blue background light. */
ADDR_LCD_BG EQU 0x60000340 LDR r0, =ADDR_LCD_BG LDR r1, =0xffff STRH r1, [r0, #0] ; Set PWM value for red background light. STRH r1, [r0, #2] ; Set PWM value for green background light. STRH r1, [r0, #4] ; Set PWM value for blue background light.