martnak / STM32-ILI9341

Simple HAL driver for ILI9341 320x240 TFT LCD with Touchscreen for STM32 microcontrollers
MIT License
195 stars 85 forks source link

STM32-ILI9341

Simple driver for ILI9341 320x240 TFT LCD with Touchscreen for STM32 microcontrollers

Requires no DMA or Interrupts while still maintaining very fast screen draws. See performance analysis below

The intent of this library is to provide a really simple way to get ILI9341 projects started without complex methods. Basic SPI and GPIO inputs/Outputs are enough to use the library.

Contains:

Downloading project and setting up example based on STM32F7:

Alternatively download entire project in .rar file. Paths might be broken and might require re-linking. ¯\(ツ)

ILI9341 Driver library for STM32

While there are other libraries for ILI9341 they mostly require either interrupts, DMA or both for fast drawing The intent of this library is to offer a simple yet still reasonably fast alternatives for those that do not wish to use interrupts or DMA in their projects.

Library is written for STM32 HAL library and supports STM32CUBEMX. To use the library with Cube software you need to tick the box that generates peripheral initialization code in their own respective .c and .h file

Performance

Settings:

With ART Accelerator, instruction prefetch, CPU ICACHE and CPU DCACHE enabled:

With ART Accelerator, instruction prefetch, CPU ICACHE and CPU DCACHE disabled:

ART Accelerator, instruction prefetch, CPU ICACHE and CPU DCACHE settings found in MXCUBE under "System-> CORTEX M7 button"