2025-09-24 10:58 PM
I am using LTDC for interfacing with a TFT LCD. The LCD is connected with 18 bit (RGB666) interface. I have selected the pixel format as RGB565, and I am using a frame buffer stored in the internal SRAM. The frame buffer has been populated with 16 bit RGB values. The problem is, I can only see the output when I enable the CLUT and populate the CLUT with RGB values. Otherwise, if CLUT is not enabled, I cannot see the output. As far as I know, CLUT is used in L8 pixel format, but for RGB565 CLUT is not used. I am confused about this situation. Any idea what may be happening here?
Solved! Go to Solution.
2025-10-05 1:09 AM
Now is reply simple layer0 alpha must be 255 not 0. L8 set it for pixels but 565 no.
2025-10-02 5:27 AM
Hello @yusuf1809,
TouchGFX doesn't support RGB666 framebuffer format. You did the proper conversion from rgb565 to rgb666 for the screen ?
Br,
2025-10-02 5:39 AM
Hi @LouisB thanks for your reply. I am not using touch gfx. I have configured the frame buffer manually. The rgb666 interface is working as I have been able to pass data using L8 pixel format with the CLUT. But when I changed the pixel format from L8 to rgb565, nothing shows up on the LCD unless I enable the CLUT. Note that when I was using the L8 format, my frame buffer was 8 bit. When I changed to rgb565, I have updated the frame buffer size to 16 bit. Even if I put 16 bit rgb values in the frame buffer nothing shows up on the LCD without enabling the CLUT.
2025-10-04 2:05 AM
You ask in TouchGFX area and changing generated code from one format to other isnt simple click... If you first generate L8 setup , changing to 565 require more as one regenerate code and chceck all settings LTDC ...
Try show what and where you change, normal is only Layer type change. (without touchgfx)
2025-10-04 7:28 PM
Actually I didn't post in the TouchGFX area. I did post in the MCU area but another user moved my post to the TouchGFX area. Kindly note the following picture -
Regarding my configuration, kindly note the following:
I have previously used pixel format L8 with CLUT and successfully produced output on the display. Now, I have changed the pixel format to rgb565, changed the frame buffer to 16 bit and populated it with rgb565 values for each pixels. But there is no output on the display unless I enable the CLUT again. I understand that CLUT is only useful for 8bpp. I don't understand why in RGB565 pixel format, the display doesn't show anything without enabling CLUT.
My setup is as follows -
The frame buffer is a 16 bit 240x320 array. The moment I comment out the 5 lines from the bottom, disabling the CLUT and the frame buffer is updated with rgb565 values, there is no output. When these lines are un-commented and the frame buffer is populated with 8 bit values, I can see the output on the display.
2025-10-05 1:09 AM
Now is reply simple layer0 alpha must be 255 not 0. L8 set it for pixels but 565 no.
2025-10-05 1:37 AM
Thank you so much. I have changed the layer 0 alpha to 255 and its working now.