2020-04-27 08:10 PM
Sorry if this is a dumb question. I have a Nucleo F767ZI, and I want to wire it to this: http://www.lcdwiki.com/2.8inch_Arduino_Display.
There's a tutorial here on how to set up LTDC with an ILI9341 here: http://www.lucadavidian.com/2017/10/02/stm32-using-the-ltdc-display-controller/. But it kind of glosses over the wiring of the board pins to the display. It looks like the blogger used a Discovery board.
Am I just out of luck with my particular shield that (for some reason) there's only 8 total LCD data pins, rather than 8 for each color? Would I need to send R, G and B data along the same buffer with this shield?
2020-05-13 01:18 AM
With only 8 data lines available from ILI9341, you either can use the 8-bit 8080 interface, in which case you won't use LTDC in the mcu but will use the buffer inside the ILI9341 controller, in which case you connect the module as a memory to FMC. This is how this module was intended to be used - read the available manuals aimed at the Arduinos.
Or you can use the 6-bit RGB interface of ILI9341, in this mode the R/G/B pixels are output one after the other in 3 cycles, rather than at once; but LTDC does not natively support this mode. It can of course be emulated by setting the LTDC to 3x the real LCD's width and using only 6 bits (any) out of the LTDC output.
Alternatively, you can use the SPI interface. This does not involve the LTDC at all. You'd need to connect SPI for the RGB-6 mode anyway.
Read the ILI9341 datasheet.
JW