AnsweredAssumed Answered

STM32F429 24 bit RGB888 mode not working

Question asked by ippagunta.mahendraku on Nov 3, 2014
Latest reply on Nov 3, 2014 by ippagunta.mahendraku

 

We are facing problem with 24-bit RGB888 mode. Most of the time 2-3 LSBs of R, G and B have noise data coming out.  For some particular pattern of data like all 1s written to frame buffer the data coming out as expected with all 1s. Its working fine without any problem in RGB565 mode. Hardware problem is ruled out as the result is same on our custom board as well as STM32F429DISCOVERY. We modified the same code for RGB888 mode and below are the changes.  The MCU is STM32F429I.

 /*                                                 */

/* Our LCD supports resolution 480x110 and 24-bit. */

/*                                                 */

 

 

 

/* Set pixel format to RGB888 */

LTDC_Layer_InitStruct.LTDC_PixelFormat   = LTDC_Pixelformat_RGB888;

 

/* LCD horizontal resolution 480 pixels */

LTDC_Layer_InitStruct.LTDC_CFBLineLength = ((480 * 3) + 3);

LTDC_Layer_InitStruct.LTDC_CFBPitch      = (480 * 3);

 

/*LCD vertical resolution 110 pixels */

LTDC_Layer_InitStruct.LTDC_CFBLineNumber = 110;

 

 

/* Fill frame buffer */

uint8_t  *framebuf = 0x20000000;

 

  for (index = 0x00; index < (480 * 110 * 3); index+=3) {

      framebuf[index + 0] = (uint8_t)0xAA;   // Blue

      framebuf[index + 1] = (uint8_t)0xAA;   // Green

      framebuf[index + 2] = (uint8_t)0xAA;   // Red

  }



Outcomes