Paso 2: Bibliotecas y bocetos de ejemplo (actualizados 04/02/15)
Usted necesitará las librerías en el archivo zip adjunto y la biblioteca de SdFat (incluido para mayor comodidad). La biblioteca estándar de la SD se puede utilizar, pero esto requiere cambios de menor importancia al dibujo y funcionará más lento.
Los principales cambios a la biblioteca de ILI9341 son para aumentar la velocidad y agregar la función pushColors(), para manejar matrices de enteros (para BMP dibujo) y para matrices de bytes (imágenes crudas).
Zip archivo encontrará una carpeta que contenga imágenes, poner a éstos en una grasa con formato de tarjeta SD para Arduino (no en un directorio!). Puede modificar los ejemplos de la biblioteca de SD para usar los pines anteriores para comprobar un bosquejo puede acceder a los archivos y el cableado es bueno. Si está en el post de problemas a la petición de ayuda... Que puede haber cometido un error o pueden ser capaces de ayudarle a conseguir su configuración va, tenga en cuenta que es difícil de depurar problemas graves mediante el intercambio de algunos mensajes...
La mayor parte de la imagen los archivos están en formato BMP, por lo que se deja como ejercicio para convertirlos a formato raw, modificar el bosquejo y ve la mejor velocidad de dibuja.
El bosquejo de ejemplo "ILI9341_draw_bitmap" (en la carpeta Adafruit_ILI9341_AS) utiliza el 90% de UNO FLASH y el 54% de RAM para el almacenamiento dinámico cuando compila bajo IDE 1.6.1.
Sólo permiten 2 fuente (u otro archivo de letra pequeña) o la ONU se quedará sin memoria FLASH!
Utilizo el compilador-opción de O2 como en mi Instructable aquí. Estándar -Os opción hará menor código de imágenes pero corre más lento (cuando se utiliza el IDE 1.6.1). IDE 1.0.6 recopilado bocetos no pueden caber en un UNO como la antigua versión del compilador GCC produce ejecutables rápido pero bastante grande.
En los ejemplares de las bibliotecas de los archivos zip F_AS_T discapacitados y está habilitado sólo fuente 2, ser conscientes de ello, si tratas de otros ejemplos de dibujo!
La imagen dibujo función es parte del esbozo no la biblioteca, esto es deliberado, ya que es muy fácil crear una memoria de peso pesado biblioteca rica característica de hambre que pone una tensión en el AVR basado en la capacidad de Arduino! Bueno esa es mi excusa ;-) Algunas gentes solución esto haciendo una biblioteca de contenedor simple que contiene estas funciones y llamadas bajan bibliotecas de nivel, así que esta es una opción para el futuro. Puede cortar la función de drawBMP() y sólo tiene que utilizar drawRAW() para ahorrar algo de espacio.
El principal drenaje función prototipos son:
void drawBMP (char * filename, int16_t x, y int16_t, flip booleano)
El archivo de nombre debe estar en el formato 8.3, documentación de la biblioteca ver el SD. x ey son las coordenadas donde se dibujará el píxel superior izquierdo de la imagen. Ver el último paso de este Instructable para la función de la bandera del tirón . La anchura y la altura de la imagen son extraídos desde el archivo BMP.
El equivalente uno para mapas de bits raw es:
void drawRAW (char * filename, int16_t x, int16_t y, int16_t rawWidth, int16_t rawHeight)
Como hay solo datos de píxeles en este archivo, que el ancho y alto de la imagen deben proporcionarse a la función.
La biblioteca y el dibujo es dirigido en procesadores AVR (UNO, Mega etc.). Me no tienen un debido, así que no piensa en el momento para que sea compatible con procesadores ARM. Si alguien consigue el bosquejo corriendo en una debida que me interesaría aquí cómo realiza, si el SPI se puede ejecutar en 48MHz entonces probablemente se podría realizar una actualización de toda la pantalla en menos de 100ms... Para ejecutar el SPI en esta frecuencia que probablemente necesita una lógica digital nivel de convertidores.
Nota: El 04/02/15 el bosquejo de la biblioteca se ha actualizado para mejorar aún más el rendimiento.
04/03/15: corrección de errores de menor importancia