neuschwander.h.w

STM32F746DISCO Error in "stm32746g_discovery_lcd.c"

Discussion created by neuschwander.h.w on Apr 18, 2018

Hi,

in the moment i build my own STM32F746 Board that is based on the STM32F746DISCO.

So i found an error in the BSP-File "stm32746g_discovery_lcd.c".

I use a new LCD Display with touch (other than on DISCO) and changed the SDRAM to 32-Bit databus. So i must change some processorpins!

 

In STM32F746DISCO the pin PI13 is named "LCD_INT". This is the signal "TS_INT_PIN" in the CUBE software. This is the interrupt output of the touchscreen controller! But this interrupt function of the touchscreen is not used in the CUBE examples!

 

Now in the function "__weak void BSP_LCD_MspInit(LTDC_HandleTypeDef *hltdc, void *Params)" there is this pin programmed as (see bold text):

 

  gpio_init_structure.Pin       = GPIO_PIN_9 | GPIO_PIN_10 | \
                                                GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15; // Here PIN_13 is wrong!
  gpio_init_structure.Mode      = GPIO_MODE_AF_PP;
  gpio_init_structure.Alternate = GPIO_AF14_LTDC;
  HAL_GPIO_Init(GPIOI, &gpio_init_structure);

 

With this PIN_13 assignment as AF14 the processor outputs the signal "LCD_VSYNC" at PI13  and this output is connected to the interrupt output of the touch controller!
i measured at this pin the signal "LCD_VSYNC" with a scope!!!! So we have 2 outputs connected together => we have a collision!!

 

I removed PIN13 from the code and no more collision!

 

 

Best regards

Werner

Outcomes