Conectar Nokia 3310 LCD al USB usando AVR (8 / 9 paso)

Paso 8: Escribir en la pantalla de software de host

La escritura a la pantalla es muy fácil y explicado aquí.

Toda comunicación con el dispositivo se realiza con la función SendData (petición de int, int datos). Esta función es realmente una versión en corto de una función denominada usb_control_msg. Utilizamos la versión en corto porque la usb_control_msg es muy largo y desordenado. (SendData la función se define en el archivo USBFunctions.cpp.)

He definido todos los códigos de petición que he hecho con los nombres, pero si lo desea puede usar números.

Si quieres escribir píxeles a la pantalla, utilice la función SendData ( SEND_DATA, datos) y sustituir los "datos" con un int de 1 byte. Esto escribirá 8 píxeles en la ubicación actual de XY. Tenga en cuenta que es taks mucho tiempo para escribir un montón de pixeles en la pantalla utilizando este método. Si desea dibujar muchos píxeles realmente rápidos, debe incorporar ese código en la viruta sí mismo.

Para enviar un comando, utilice la función SendData ( SEND_COMMAND, datos) y sustituir los "datos" con el comando
(Ver la dataseet de LCD para comandos, página 14)

Para borrar la pantalla, utilice la función SendData ( SEND_CLEAR, 0) . Esto hará que el sorteo AVR 0 a todos los píxeles en la pantalla. Es mucho más rápido que el AVR hagan, que hacerlo manualmente a través de software de host. Obviamente esto no necesita ningún dato extra entonces la solicitud sí mismo.

Si desea especificar una ubicación de XY para escribir, uso SendData ( SEND_XY, (y << 8) + x). Sustituir la Y con un número entre 0 y 5 y la X un número entre 0 y 83. Esto envía a 2 bytes para el AVR, y que es la razón por la que cambiar la Y por 8 (por lo que el valor de Y está en el 2 º byte).

Para enviar un carácter ASCII en la pantalla, Utilice SendData ( SEND_CHAR, datos). Observe que caracteres deben estar en comillas simples, por ejemplo: SendData (SEND_CHAR, 'A').

Si desea escribir muchos caracteres, puede almacenar la cadena en una matriz y utilizar un bucle como este:

unsigned char buffer [] = {"mi STRING12341!!" \n"};
para (int j = 0; j < sizeof (almacenador intermediario) -1; ++ j) {}
SendData (SEND_CHAR, buffer[j]);
}

Tenga en cuenta que puede utilizar la nueva línea ( \n ) para saltar a la siguiente línea en el eje Y. Le ahorrará un montón de problemas.

Artículos Relacionados

Recuperación de un NOKIA 3310 LCD y usarlo con Arduino

Recuperación de un NOKIA 3310 LCD y usarlo con Arduino

Este instructable dice cómo extraer la pantalla LCD del defecto práctico Nokia 3310 y a modificarlo para usar con Arduino.Tenía un defecto antiguo Nokia 3310 práctico. No era carga de la batería. Quería tirarla, pero me vino la idea, que la pantalla
Registrador de aceleración Nokia 3310

Registrador de aceleración Nokia 3310

cómo hacer un registrador de aceleración en un celular Nokia 3310.Lo utilizo para medir las fuerzas rusas :)Paso 1: Herramientas que necesariasAlgunas herramientas que pueda necesitar:Nokia 3310soldadura de hierroDestornillador T6material para hacer
Conectar una pantalla LCD con Arduino

Conectar una pantalla LCD con Arduino

en este instructable nos va a ver cómo conectar un LCD paralelo a un Arduino. La pantalla LCD que estoy usando utiliza la interfaz de HD44780 común.  Muchos LCDs tienen esto, usted puede decir generalmente por la interfaz de 16 pines. Sólo necesita 1
Cómo conectar el Cable de datos USB de un Samsung Galaxy Tab con ayuda de Sugru

Cómo conectar el Cable de datos USB de un Samsung Galaxy Tab con ayuda de Sugru

cuando compré mi Samsung Galaxy Tab 7.0 siempre conectar el Cable de datos USB invertido.Para que nunca vuelva a conectarlo al revés, utilizar algunos Sugru que recibimos para construir de noche en nuestro local hackerspace (LHC - http://lhc.net.br).
Transmisor de RC a Gamepad USB usando Arduino

Transmisor de RC a Gamepad USB usando Arduino

¿Por qué debo hacerlo?Cuando se trata de RC aviones, un simulador de vuelo puede ser una excelente manera de perfeccionar sus habilidades durante la temporada baja o incluso prepararse para su primer vuelo. La desventaja principal al uso de un simula
Monitor de baterías caseras usando AVR

Monitor de baterías caseras usando AVR

chicos,Quiero compartir mi experiencia con el divisor de voltaje, ADC y AVRMonitor de baterías caseras con AVREs bastante simple el sensor son solo dos resistores y diodos zener con capasitor, no comprarlos, lo encontré en mi caja.Podemos usarlo para
Conectar una pantalla LCD y un Sensor de distancia por ultrasonidos a un Arduino

Conectar una pantalla LCD y un Sensor de distancia por ultrasonidos a un Arduino

Cuando empecé a jugar con los Arduinos, ésta fue la primera creación poco hasta me. La orientación del vídeo es un poco pobre. Esta fue mi primera ve las cosas así que pido disculpas que no era tabaco de hasta entonces. De todas formas, muy simple de
Cómo interfaz 16 X 2 LCD con el Microcontrolador AVR

Cómo interfaz 16 X 2 LCD con el Microcontrolador AVR

aquí está el diagrama del circuito de interface 16 X 2 LCD al Microcontrolador AVR. En este circuito, el oscilador de cristal dará el reloj en el microcontrolador. Los condensadores conectados a la voluntad de cristal actúan como filtros y ayudar el
INFRA rojo mando ROBOCAR usando AVR (ATMEGA32) MCU

INFRA rojo mando ROBOCAR usando AVR (ATMEGA32) MCU

El presente proyecto describe un diseño e implementación de un infrarrojo (IR) remoto controlado RoboCar que puede ser utilizado para diversas aplicaciones de control sin tripulación automatizado. He diseñado RoboCar controlado remoto (movimiento de
Diseñar un lápiz USB usando Autodesk Inventor

Diseñar un lápiz USB usando Autodesk Inventor

en este tutorial, se camina a través de cómo diseñar un pendrive USB personalizado para impresión 3D.Si eres un maestro, a los estudiantes a diseñar objetos con aplicación de mundo real es una gran manera de enganchar su creatividad, así como obligar
Arduino con 4 x 20 LCD y LCD Smartie USB

Arduino con 4 x 20 LCD y LCD Smartie USB

aquí es un Arduino conectado a un 4 x 20 display HD44780, incluido en 8 "x 4 1/2" Lexan.Usé una versión modificada de la librería de arduino LCD y había hackeado el LCD Smartie bosquejo utilizando comandos de matriz Orbital.Smartie LCD corre los
Moldeado conector USB usando la pistola de pegamento caliente o sugru

Moldeado conector USB usando la pistola de pegamento caliente o sugru

todos sabemos que puede fácilmente re soldadura conectores de usb de muchos dispositivos como mouse, teclado, etc. y ahorrar dinero. pero qué pasa con la carcasa o cubierta...lo hice con piezas rescatadas del antiguo cable vga...Así que aquí me m com
Emulador de logotipo usando AVR

Emulador de logotipo usando AVR

hace cuarenta años, los investigadores desarrollaron un lenguaje de programación que se convertiría en una brillante herramienta educativa. Logo era un lenguaje de programación interesante, diseñado por Seymour Papert para niños, una vez utilizado en
HP48GX Cable de USB usando el protocolo XMODEM para archivo de transferencia (HP48 cable USB).

HP48GX Cable de USB usando el protocolo XMODEM para archivo de transferencia (HP48 cable USB).

Configurar el Cable USB para la serie de calculadora HP48 gráficas: HP48GX, HP48G + HP48G, HP48SX y HP48S.