No se sobre la teoria de funcionamiento, yo tome 2 drivers para LCD el de Suky (SSD1298) y el UTFT (este tiene para varios controladores), compare, estudie un poco y llegue a la siguiente conclusion:
Son iguales xD, lo unico que cambia son las letras/formas de hacer dibujos etc ( todo se hace pixel a pixel )
Casi todos utilizan la misma inicializacion, a no ser que quieras cambiar las coordenadas X por Y ( es decir portrait a landscape ) de comienzo. Se seteean las correcciones de gamma de cada color, el formato, voltajes, Lo que si yo no escribia de a 8 bits como esas librerias sino que lo hacia directamente con 16 bits ( es decir tenia que mandar un dato menos ). Tendrias que buscar que controlador tiene ese LCD (creo que el tuyo es un ILI9320 ) para que veas cuales son los registros, y formas de comunicacion, ejemplo con 18 bits formarias un 666 en RGB con 16 bits que yo mando lo hago 565 RGB sino mal recuerdo. Y con 8 bits tal ves lo mismo pero lo tengas que enviar en 2 pasos.
Como se actualiza la pantalla ?
Marcas como un cuadro (seccion del LCD)... es decir un punto X,Y inicial y uno final (Tenes registros para esto ), y luego escribis todos los pixel uno detras de otro. No tenes que refrescarlo por que quedan guardados en la RAM del LCD, entonces escribis y listo.
No se como sera con un micro con controlador de LCD, ahi estuve viendo el que puso juanperser1, un ST con controladora de LCD que permite supuestamente mantener como 4 layers separados u algo asi, pero no me meti demasiado en eso. Aunque me interesaria saber mas sobre eso.
Esto puede que te sirva:
http://misc.ws/2013/11/08/touch-screen-shield-for-arduino-uno/https://learn.adafruit.com/2-8-tft-touch-shield/overviewEl C lo hace realmente portable.
Con respecto al touch, es un ADC... tenes un pin de interrupcion para avisarte que alguien toco la pantalla, tenes que enviar un comando por cada eje si no mal recuerdo ( por SPI o algunos lo hacen manual ) y este te devuelve en 2 bytes por cada lectura ( si esta configurado como 10bits ). Al menos esa fue mi experiencia debido a que era un ads7843
Luego muchos promedian estos valores de esa forma obtienen una lectura mas estable..
Mi experiencia fue esta:
http://www.todopic.com.ar/foros/index.php?topic=43599.0un error en la configuracion de comienzo y fin de la RAM a escribir hacia que no escribiera nada.. en ves de poner maximo X:239 Y:319, lo puse al reves y no funciono.
Aunque no esta todo el codigo y la parte del LCD deberia usar el puerto paralelo con FIFO que ofrece el micro y no el manejo de puertos directamente.