2020-04-16 07:01 AM
I've purchased a STM32373C-EVAL board for some academic work which relies on the LCD, among other peripherals. I've generated code with STM32CubeMX and set up my Keil environment with the runtime environment (with the LCD and SPI components, and set up GPIOD2 as open drain output for the LCD enable) to get it compiling and running. The LCD initialization fails, spinning forever to wait for the for SPI communication to complete.
I've looked through the docs for the eval board, but the details on the LCD are really light. Is there any more thorough documentation to help debug what the problem could be? Otherwise, is there any example code available to compare my implementation to in order to make sure I've configured everything correctly? Since this is academic, I was disappointed to see that the LCD examples in Keil are gated by a professional license.
2020-04-16 07:32 AM
STM32Cube_FW_F3_V1.11.0\Drivers\BSP\STM32373C_EVAL\stm32373c_eval_lcd.c
1. How To use this driver:
--------------------------
- This driver is used to drive indirectly an LCD TFT.
- This driver supports the ILI9328 and HX8347G LCD
mounted on MB989 daughter board
- The ILI9328 and HX8347G components driver MUST be included with this driver.
STM32Cube_FW_F3_V1.11.0\Projects\STM32373C_EVAL\Examples\BSP\Src\lcd.c
2020-04-17 08:58 PM
Thanks for pointing that out. I've been having trouble understanding what all gets installed with the various SDKs and downloads I've made.
Unfortunately, the LCD init code fails here:
if(ili9328_drv.ReadID() == ILI9328_ID)
{
lcd_drv = &ili9328_drv;
ret = LCD_OK;
}
else if((hx8347g_drv.ReadID() & 0x00FF) == HX8347G_ID)
{
/*HX8347G_ID connected : 8 bits ID */
lcd_drv = &hx8347g_drv;
ret = LCD_OK;
}
It looks like the LCD is not identified as either of the ones in the sample code. The ID that's read back from the LCD controller is 0x9595 which isn't either of the HX or the ILI. Any ideas on how I can determine what I'm trying to interface with would be appreciated.