Autor Tema: Barrido molesto en GLCD 128x64 pix  (Leído 2421 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Barrido molesto en GLCD 128x64 pix
« en: 03 de Enero de 2007, 17:44:42 »
Hola felix año a todos aqui vengo con otro problema ando liado con una pantalla Glcd de 128x64 pixels y tengo un problema de barrido cada vez que actualizo la pantalla aparece el molesto barridoeste es mi código
Código: [Seleccionar]
   
   glcd_rect(7, 0, 125, 7, YES, off);     //Rectangulo para borrar lo que habia antes
   glcd_text57(7, 0, GTiempo, 1, on);   //Muestra por pantalla la fecha y la hora

   glcd_rect(7, 10, 110, 17, YES, off);     //Rectangulo para borrar lo que habia antes
   glcd_text57(7, 10, Gtemp1, 1, on);    //Muestra por pantalla el valor Temperatura
   //glcd_circle(56,12,2,no,on) ;     //Simbolo de grados

   glcd_text57(62, 10, Ghume1, 1, on);   //Muestra por pantalla el valor Humedad

   glcd_circle(113,10,1,no,on) ;     //
   glcd_circle(115,15,1,no,on) ;     //Tanto por cien
   glcd_line(116,9,112,16,on);       //
 
   glcd_rect(7, 18,110, 28, YES, off);   //Rectangulo para borrar lo que habia antes
   glcd_text57(7, 18, Gtemp2, 1, on);    //Muestra por pantalla el valor Temperatura
   //glcd_circle(56,12,2,no,on) ;     //Simbolo de grados

   glcd_text57(62, 18, Ghume2, 1, on);   //Muestra por pantalla el valor Humedad

estoy usando un 16f877A a 12Mhz alguna idea para evitar esto??? muxas gracias a todos
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Barrido molesto en GLCD 128x64 pix
« Respuesta #1 en: 05 de Enero de 2007, 15:13:33 »
¿No puedes sobreescribir en los datos de temperatura y humedad? así sólo tendria dos lineas de código, las que muestra la temperatura y la que muestra la humedad.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: Barrido molesto en GLCD 128x64 pix
« Respuesta #2 en: 05 de Enero de 2007, 19:21:16 »
hola si eso lo intenté pero se queda "emborronado", me explico mejors por ejemplo era un 8 loq ue tenia y luego tengo un 9 se sigue viendo el 8, por eso decidí poner el rectangulo... alguna idea???
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: Barrido molesto en GLCD 128x64 pix
« Respuesta #3 en: 06 de Enero de 2007, 16:44:15 »
Hola qiqe!

La librería del display tiene un define que es:

#define FAST_GLCD

Cuando pones esta directiva en tu código principal lo que haces es utilizar un buffer y despues con una función que se llama 'glcd_update()' lo que haces es volcar ese buffer en la pantalla.

Con esto evitas el parpadeo que nos comentas pero tenemos un problema. El PIC16F877 no tiene suficiente memoria para crear ese buffer, es decir, con el 16F877 no puedes utilizar el FAST_GLCD.

Ahora mismo estoy haciendo la prueba con un 18F4550 y funciona muy bien. Además, si no pongo el FAST_GLCD puedo observar a la perfección el efecto indeseado que nos comentas.

A ver si esto te puede servir de algo.


Un saludo desde Alicante!

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: Barrido molesto en GLCD 128x64 pix
« Respuesta #4 en: 06 de Enero de 2007, 21:55:40 »
Hola muchas gracias por la respuesta el 16f877 la verdad se esta quedando corto el pobre estoy a mitad de desarrollo y ya esta al 97% mas o menos dentro de poco le saldrá humo por las orejas jejej inventando inventando he encontrado una solucion que no deja de ser algo parecido a lo que me comentas, guardo la variable antigua (Vieja) y lescribo a off, esto le cuesta mucho menos tiempo que el recuadro por lo menos visualmente, y luego escribo el dato real bueno con un ejemplo se verá mucho mejor, estaba pensando en subirle la velocidad al micro hasta los 20Mhz pero supongo que desde 12Mhz no notaré mucho la diferencia en la pantalla no?? ya que va a su propoia velocidad.... en fin aqui dejo el programa

Código: [Seleccionar]
   glcd_text57(7, 0, GvTiempo, 1, off); //Borramos de la pantalla la fecha y la hora   la v indica que es una variable antigua (vieja).
   glcd_text57(7, 0, GTiempo, 1, on);   //Muestra por pantalla la fecha y la hora

   glcd_text57(7, moverpant, Gvtemp1, 1, off); //Borramos Temp.. de la pantalla
   glcd_text57(7, moverpant, Gtemp1, 1, on);   //Muestra por pantalla el valor Temp...
   glcd_circle(40,moverpant+1,2,no,on) ;              //Simbolo de grados
   
   glcd_text57(62,moverpant, Gvhume1, 1, off);  //Borramos Hum.. de la pantalla
   glcd_text57(62, moverpant, Ghume1, 1, on);   //Muestra por pantalla el valor Humedad

un saludo desde valencia ;)
« Última modificación: 06 de Enero de 2007, 22:05:22 por qiqe »
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!