7 years, 9 months ago.

SPI Overhead on K64F with LCD display

Hello This is my first post,

I am currently working on implementing an LCD screen using Unigraphics library and an ILI9341 LCD screen

Everything works fine but the max FPS I can achieve is about 4 - it takes over 250ms to refresh the whole screen.

I started to investigate this problem further and noticed that the the SPI has quite lot of overhead, the 16bit chunks are send using a while loop:

void SPI16::wr_grambuf(unsigned short* data, unsigned int lenght) { while(lenght) { _spi.write(*data); data++; lenght;/media/uploads/PencilDH/screen_shot_2016-07-28_at_17.46.47.png

} }

but there a quite large pauses between in chunk of data how can I get rid of them to improve the FPS, I am looking at using FIFO SPI buffer but I don't know where to start. /media/uploads/PencilDH/screen_shot_2016-07-28_at_17.46.47.png

Be the first to answer this question.