Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 7 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;
} }
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