How to have fast text with ILI9340 LCD


I am using a 2.2" LCD (ILI9340). I have a simple sketch which I use to display very fast text. However, all I see are white squares. Is this a limitation of this display? This works on a character LCD.

Here is my code:

void loop() { count = count + 1; tft.setCursor(0, 0); tft.setTextColor(ILI9340_WHITE); tft.setTextSize(3); tft.print(count); delay (3); }

I realize I can use a longer delay but that would be unacceptable in my full sketch.


I guess this comes from not clearing the display in between.
By default only the “active” parts of the text are rendered but not the background, so the individual character cells will just fill up with all the set pixels over time.

Either clear the display or choose a print command that also renders the backcolor.

Is it because you need those high refresh rates, or because you don’t want to block the rest of the code?
If it’s the former, then I think it’s due to the fact that humans can’t see much more than ~24fps, around 41ms each. Yours are well over that, thus, due to POST it will all blur together to a solid image I’d reckon.
If it’s the latter, then you might want to look into non-blocking delays by using millis timers.

Thank you @ScruffR.

Using your idea of print command that also renders the backcolor worked very well.

Thank you @Moors7.

I do not want to use delay because of needing high refresh rate rather than actually reading it. Printing while alternating fore- and back-ground solved it.