Error de compilación

Hola buenos días, mi problema es a la hora de conectar mi Arduino TIAN con mi pantalla TFT LCD. Realizando el siguiente código para comprobar su funcionamiento:

// Se incluyen las librerias necesarias
#include <SPI.h>   // libreria SPI de Arduino
#include <SD.h>    // libreria para el uso de la memoria micro-SD
#include <TFT.h>   // libreria Arduino TFT

// definicion de pines
#define lcd_cs 10
#define dc     9
#define reset  8

// se crea una instancia para configurar los pines lcd_cs, dc, reset
TFT TFTscreen = TFT(lcd_cs, dc, reset);

void setup() {

  // Se inicializa la TFT LCD
  TFTscreen.begin();

  // colocamos un fondo de color blanco
  TFTscreen.background(0, 0, 0);

  // Antes de escribir cambiamos el color de la fuente a blanco  
  TFTscreen.stroke(255, 255, 255);
  // establecemos el tamaño de fuente
  TFTscreen.setTextSize(2);
  // se escribe el texto en el lado superior izquierdo de la pantalla
  TFTscreen.text("Valor del Sensor :\n ", 0, 0);
  // se cambia el tamaño de letra a usar
  TFTscreen.setTextSize(5);
}

void loop() {

}

El probelma viene cuando compilo que me encuentro con los siguientes errores:

Arduino:1.8.2 (Windows 7), Tarjeta:"Arduino Tian"

Opciones de compilación cambiadas, reconstruyendo todo
C:\Users\usuario\Desktop\programas\libraries\TFT\src\utility\Adafruit_ST7735.cpp: In member function 'void Adafruit_ST7735::commonInit(const uint8_t*)':

C:\Users\usuario\Desktop\programas\libraries\TFT\src\utility\Adafruit_ST7735.cpp:349:13: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

   csport    = portOutputRegister(digitalPinToPort(_cs));

             ^

C:\Users\usuario\Desktop\programas\libraries\TFT\src\utility\Adafruit_ST7735.cpp:351:13: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

   rsport    = portOutputRegister(digitalPinToPort(_rs));

             ^

C:\Users\usuario\Desktop\programas\libraries\TFT\src\utility\Adafruit_ST7735.cpp:370:17: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

     clkport     = portOutputRegister(digitalPinToPort(_sclk));

                 ^

C:\Users\usuario\Desktop\programas\libraries\TFT\src\utility\Adafruit_ST7735.cpp:372:17: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

     dataport    = portOutputRegister(digitalPinToPort(_sid));

                 ^

Se encontraron múltiples librerías para "SD.h"
Usado: C:\Users\usuario\Desktop\programas\libraries\SD
 No usado: C:\Users\usuario\Desktop\arduino\libraries\SD
Se encontraron múltiples librerías para "TFT.h"
Usado: C:\Users\usuario\Desktop\programas\libraries\TFT
 No usado: C:\Users\usuario\Desktop\arduino\libraries\TFT
exit status 1
Error compilando para la tarjeta Arduino Tian.

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

Tras mucho rato de búsqueda no he encontrado una solución clara. Lo que si he comprobado que si en mi IDE selecciono un tipo de placa diferente a la TIAN no me da problemas de compilación. Así que no estoy seguro de cual es el problema…
Muchas gracias por la atención y espero haber seguido las normas del foro.

Viendo el código no estoy seguro que mi solución vaya a ser la adecuada. Cuando hya un error como el mencionado, puedes intentar hacer un cast, es decir cambiar el tipo de dato de un tipo a otro (forzarlo), por ejemplo:

csport    = (unsigned char*)portOutputRegister(digitalPinToPort(_cs));

Espero te ayude!

Lo voy a probar, te aviso con el resultado. Muchas gracias.

Tu problema esta aca al final del error

e encontraron múltiples librerías para "SD.h"
Usado: C:\Users\usuario\Desktop\programas\libraries\SD
 No usado: C:\Users\usuario\Desktop\arduino\libraries\SD
Se encontraron múltiples librerías para "TFT.h"
Usado: C:\Users\usuario\Desktop\programas\libraries\TFT
 No usado: C:\Users\usuario\Desktop\arduino\libraries\TFT

multimples librerias TFT
borra o bien esta
C:\Users\usuario\Desktop\programas\libraries\TFT
o esta
C:\Users\usuario\Desktop\arduino\libraries\TFT

o mismo con SD
No entiendo porque instalaste arduino en el escritorio, pero bueno, asi esta.
En tu caso ...\arduino\libraries\
es la mandatoria
lo demas debe estar en Documentos\Arduino\libraries\

y no repetir librerias.

Lo primero gracias por el trabajo que haces surbyte. Creo que ya he solucionado el problema que me has dicho. Paso el código de error que me da ahora. El programa sigue siendo el mismo.

Arduino:1.8.3 (Windows 7), Tarjeta:"Arduino Tian"

C:\Program Files (x86)\Arduino\libraries\TFT\src\utility\Adafruit_ST7735.cpp: In member function 'void Adafruit_ST7735::commonInit(const uint8_t*)':

C:\Program Files (x86)\Arduino\libraries\TFT\src\utility\Adafruit_ST7735.cpp:349:13: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

   csport    = portOutputRegister(digitalPinToPort(_cs));

             ^

C:\Program Files (x86)\Arduino\libraries\TFT\src\utility\Adafruit_ST7735.cpp:351:13: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

   rsport    = portOutputRegister(digitalPinToPort(_rs));

             ^

C:\Program Files (x86)\Arduino\libraries\TFT\src\utility\Adafruit_ST7735.cpp:370:17: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

     clkport     = portOutputRegister(digitalPinToPort(_sclk));

                 ^

C:\Program Files (x86)\Arduino\libraries\TFT\src\utility\Adafruit_ST7735.cpp:372:17: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

     dataport    = portOutputRegister(digitalPinToPort(_sid));

                 ^

exit status 1
Error compilando para la tarjeta Arduino Tian.

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

No estoy seguro pero por lo que he buscado en varios sitios creo que el problema puede estar en usar estas librerías con Arduino Tian. En caso de ser así ¿Hay algún sitio con librerías que le puedan valer a este tipo de Arduino? Gracias.

He utilizado el comando que me has dicho @msoffredi y me a compilado sin errores. Muchas gracias a los dos. Cuando consiga avanzar un poco en el proyecto abriré un hilo en el foro por si sirve de ayuda a alguién más. :open_mouth: