Moin @NickAmSee,
das Problem kenne ich, da ich gleiche (oder zumindest vergleichbare) Displays habe ...
Die Ursache liegt darin, dass bestimme Pins mehrfach genutzt werden, sowohl für das Display selbst wie auch für die Touchpad-Funktion. Deren Auslesepins kollidieren mit Zeichenfunktionen, wenn man dies nicht berücksichtigt.
Um das zu vermeiden, hilft es, vor und nach jedem Zugriff auf Zeichenfunktionen die folgende Routinen einzubauen (siehe void PrintChar() als Beispiel):
void Before(){
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
}
void After(){
pinMode(XP, OUTPUT);
pinMode(YM, OUTPUT);
}
void printChar(char aChar,uint16_t col){
Before();
tft.setTextSize(5);
tft.setTextColor(col);
tft.setCursor(80,80);
tft.print(String(aChar));
After();
}
Viel Erfolg!
ec2021
(Alternativ, aber nicht getestet kann man das vermutlich auch stattdessen invers bei der Touchscreen-Abfrage umsetzen ...)
Die Abfrage des Touchscreen läuft bei den o.a. Displays über eine Widerstandsmessung, daher braucht es für X und Y jeweils einen analogen Pin.