cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429-Discovery landscape display

cambareri
Associate
Posted on November 12, 2013 at 17:12

Good morning,

i have a problem with display orientation, i have changed the ili9341 register and the image rotate correctly but, i have a white portion of the display of 80 column in the side of the display.

the LTDC registers are 

  /* Configure horizontal synchronization width */     

  LTDC_InitStruct.LTDC_HorizontalSync = 9;

  /* Configure vertical synchronization height */

  LTDC_InitStruct.LTDC_VerticalSync = 1;

  /* Configure accumulated horizontal back porch */

  LTDC_InitStruct.LTDC_AccumulatedHBP = 29; 

  /* Configure accumulated vertical back porch */

  LTDC_InitStruct.LTDC_AccumulatedVBP = 3;  

  /* Configure accumulated active width */  

  LTDC_InitStruct.LTDC_AccumulatedActiveW = 349;

  /* Configure accumulated active height */

  LTDC_InitStruct.LTDC_AccumulatedActiveH = 243;

  /* Configure total width */

  LTDC_InitStruct.LTDC_TotalWidth = 359; 

  /* Configure total height */

  LTDC_InitStruct.LTDC_TotalHeigh = 247;

any solution?

Thank you.

  

#stm32 #lcd #discovery #tft #tft-ltdc-display-landscape
6 REPLIES 6
xacc
Associate II
Posted on November 22, 2013 at 11:25

Been trying to do the same, but the same results.

Steps:

1. Change dimensions in header

2. Change column/row address order in MAC register

3. Change the LDTC as above

4. Change the LCD Layer too

Seem to be getting the same unwritable 80 pixel column on the right.

I guess it is all to do with the correct combination of above settings.

It would also appear that there is a bit too much reliance in the LCD dimension definitions in the code. 

rigomate2
Associate III
Posted on May 22, 2014 at 14:59

My guess is, that the rotation paramater for the ili9341 only works if it is controlled purely over SPI, or parallel.

The demonstration code provided for the discovery board F429 sets it up using SPI, but the display data is sent to it using the classical TFT-LCD driving scheme: Vsync, Hsync and whatnot.

I'd try sending the display buffer to it over SPI as well.

Cheers

feky2
Associate
Posted on March 25, 2015 at 16:22

Hello!

I have same problem. On the right side is white area.

In ILI9341:

I changed register 0x36 value (Row/Column exchange) and start/end address for Column and page (register 0x2A and 0x2B).

In STM32F429 LTDC:

#define

LCD_HSYNC 0x0A // 10

#define

LCD_HBP 0x14 // 20

#define

LCD_HAREA 0x140 // 320

#define

LCD_HFP 0x0A // 10

#define

LCD_VSYNC 0x02 // 2

#define

LCD_VBP 0x02 // 2

#define

LCD_VAREA 0xF0  // 240

#define

LCD_VFP 0x04 // 4

#define

HSW (LCD_HSYNC - 1)

#define

AHBP (LCD_HSYNC + LCD_HBP - 1)

#define

AAW (LCD_HSYNC + LCD_HBP + LCD_HAREA - 1)

#define

TOTALW (LCD_HSYNC + LCD_HBP + LCD_HAREA + LCD_HFP - 1)

#define

VSH (LCD_VSYNC - 1)

#define

AVBP (LCD_VSYNC + LCD_VBP - 1)

#define

AAH (LCD_VSYNC + LCD_VBP + LCD_VAREA - 1)

#define

TOTALH (LCD_VSYNC + LCD_VBP + LCD_VAREA + LCD_VFP - 1)

// LCD Synchronous timing

LTDC->SSCR  = HSW << 16;

//Horizontal Synchronization Width

LTDC->SSCR |= VSH;

// Vertical Synchronization Height

LTDC->BPCR  = AHBP << 16;

// Accumulated Horizontal back porch

LTDC->BPCR |= AVBP;

// Accumulated Vertical back porch

LTDC->AWCR  = AAW << 16;

// Accumulated Active Width

LTDC->AWCR |= AAH;

// Accumulated Active Height

LTDC->TWCR  = TOTALW << 16;

// Total Width

LTDC->TWCR |= TOTALH;

// Total Height

And the result is:

0690X00000603JjQAI.jpg

But if I changed:

#define 

LCD_VAREA

0xF0

+80

// 240+80 = 320

I got:

0690X00000603JeQAI.jpg

Now, I am confused. What do you think?

Thank for any reply.

sawingor
Associate II
Posted on April 11, 2015 at 00:42

Hi there!

I have exactly the same problem. If you managed the solution please share. During this time I also going to resolve this issue

David Brooks
Associate II
Posted on June 21, 2016 at 17:50

Any definitive solution to this problem? I've seen a lot of comments here and there, but no real solution. I too have been able to rotate the display with text shown correctly, but I am missing the 80 pixels off to the right.

mikkel nielsen
Associate II

Hi

is the solution to the problem still not found because would be really happy if I could use the whole scare after it's rotated