When trying to use it with standard libraries, it only produced white screen. After many google searches, I used the MCUFRIEND_kbv library by David Prentice. I am using ver 2.9.9 When I tried the examples, the screen displayed the characters but in reversed image. Looking at many posts about this, I did not find anything that worked. Finally broke down and read some of the data sheet (233 pages!) and found the register that seemed to control the image reversal (control register B4h). I then changed the MCUFRIEND_kbv.cpp file in the library by adding "| INVERT_SS" to the _lcd_capable assignment in the case for 9341. In the examples, I had to explicitly assign 0x9341 to the tft(begin) routine as the display does not appear to provide an identifier - the identifier returns 0x0.
Once I did this, the examples for the display, both aspect_kbv and graphictest_kbv work fine.
Not sure if this screws anything else up, but at least I now have a working display on the Uno. Next step is to try and see if I can get it working on a blue pill as I need more computational power for the application I am going to try. (Analysing a trapezoidal rf waveform to show amplifier linearity).
David, I have the MCFRIEND_kbv installed via the IDE lib manager. If I run the LCD_ID_readreg example, here is the output.
Read Registers on MCUFRIEND UNO shield
controllers either read as single 16-bit
e.g. the ID is at readReg(0)
or as a sequence of 8-bit values
in special locations (first is dummy)
Here is output from running LCD_ID_readnew with the setup modified to uncomment unlock = 1526;
on MCUFRIEND UNO shield
controllers either read as single 16-bit
e.g. the ID is at readReg(0)
or as a sequence of 8-bit values
in special locations (first is dummy)