Diferencia entre revisiones de «ST7920»
Ir a la navegación
Ir a la búsqueda
| Línea 30: | Línea 30: | ||
= Como funciona la comunicación paralela 8bits = | = Como funciona la comunicación paralela 8bits = | ||
(explicar que la de 4 bits tiene errores) | (explicar que la de 4 bits tiene errores) | ||
= Modo Gráfico (GLCD) = | = Modo Gráfico (GLCD) = | ||
= Fuentes personalizadas = | = Fuentes personalizadas = | ||
Revisión del 20:16 26 mar 2013
Características
Address Counter (AC)
CGROM
DDRAM
CGRAM
Descripción Pines
- XRESET: Es el pin de reset. Para resetear el lcd desde el hardware se hace con este pin. Tiene que pasar de LOW a HIGH para hacer el reset. Yo no lo utilizo.
- PSB: Es un pin para seleccionar si usamos la comunicación serie o paralela. LOW es serie y HIGH paralela
- Vo: Es para el contraste (creo)
- VSS: GND
- VDD: +5V
SPI
En el modo serie no se puede leer de la pantalla. Solo se pueden hacer operaciones de escritura.
- RS: es el pin SS del protocolo SPI
- RW: es el pin MOSI del protocolo SPI
- E: es el pin clock del protocolo SPI
Paralelo 8 bits
- RS: Es el pin Register Select. LOW es para seleccionar las instrucciones de registro y HIGH es para seleccionar los registros de datos.
- RW: Es el pin de lectura/escritura. LOW es para indicar escritura y HIGH para indicar lectura.
- E: Es el pin utilizado para indicar el paso de datos del microcontrolador al st7920. Se ve mejor su utilidad en la sección [[ST7920#
D0-D7: Son los pines de datos.
Funciones Básicas
Funciones Extendidas
Como funciona la comunicación Serial (SPI)
Como funciona la comunicación paralela 8bits
(explicar que la de 4 bits tiene errores)
Modo Gráfico (GLCD)
Fuentes personalizadas
Documentación
Notas
- Hacer una representación gráfica de la disposicion de las filas y columnas, lo del 0x80 y 0x88
- Explicar como lo soluciona dc42
- Explicar como soluciona dc42 el problema de que cada AC son 2 bytes y que cada byte representa 8 pixeles (cada pixel corresponde a un bit)
- Explicar uint8_t *ptr = image + ((16 * r) + (2 * startColNum)); y también la parte (2*startColNum)
- Explicar sendLcdData(*ptr++);
- Creo que cada vez que si se hace esto:
setPixel(1,1); flush(); setPixel(2,1); flush();
Esta dibujando la pantalla entera para cada flush(), pero no lo entiendo porque la función flush() esta preparada para renderizar un AC de una fila concreto