Programación Específica > Microcontroladores
Gps Logger Con Pic
J1M:
Hola Splasma,
creo que el problema está en esos 8Mhz, yo lo tengo enganchado a un 18F2550 a 48Mhz y no te se decir exactamente velocidad, pero sin duda mejorarías esa tasa de refresco... creo q podrías sacarle algo mas de 10fps... a ver si hago alguna prueba con este para calcular fps (q no se exactamente como...)
Por otro lado, cuales son esas mejoras?? Cualquier optimización de la biblioteca será bienvenida, a ver si estas vacaciones la actualizo para agregarle compatibilidad con el epson.
pd: implementé el bus SPI por software y obtengo unos resultados muuuuy malos, vamos q con ellas lejos de mejorar el frame rate, lo empeora... :S
saludos!
splasma:
La cosa va avanzando, en breve pondre algunas "fotillas".
Respecto a la velocidad, no creo que sea culpa de los 8MHz, analizando el código assembler que genera el compilador de C, he visto que la comunciación con el LCD necesita muy pocas instrucciones del PIC (de 20 a 40) , y a 8 MHz estamos hablando de 10-20 uS, por lo que la limitación debe estar en el propio LCD. Ya no es tan escandasolo, pero por ejemplo,se nota cuando se borra toda la pantalla.
Las cambios que he hecho en la libreria han sido: quitar algunos envíos de comandos al LCD que no son necesarios cuando se dibuja una letra, dibujar el color background ( para olvidarme de los borrados) , incluir una version rápida para dibujar lineas horizontales y verticales, aparte de otras funciones de dibujo de bitmap, etc... ya os lo pasaré cuando este todo "niquelao".
Por cierto como uso SPI para comunicarme con el LCD, he tenido que hacer a mano, usando otros puertos, la comunicación I2C con una EEPROM externa . ¿ habeis compartido alguna vez ambos protocolos en el mismo puerto ?
Saludos.
J1M:
Como q la velocidad no es cosa del PIC :P te digo que a 48Mhz es imperceptible a la vista el borrado de la pantalla... vamos, q se pone inmediatamente del color que le digas. Y si estas usando mi librería...(como creo q estas haciendo) sin ninguna duda la velocidad de reloj del PIC influye en esto... haz la prueba y me cuentas. El LCD no está limitando, piensa que es el que se usa en los móviles y son capaces de reproducir videos a 25fps.......
No hace falta que implementes tú a mano las funciones de I2C, el CCS ya lo lleva por defecto, miratelo en la ayuda ya que puedes poner cualquier pin de salida para I2C y hacerlo por soft o hard(en el caso dq el pin d salida lo soporte)
Sobre el algortimo de las letras, sí, se puede mejorar y de hecho el actual es un pequeño desastre :P ... es una de las cosas que está pendiente, pero la universidad me deja poco tiempo para nada...
saludos! y suerte con tu proyecto ;)
splasma:
Tienes razón J1M, el calculo de 10us-20us que yo hice era para el envío de un dato al LCD ;) , si queremos borrar toda la pantalla, tenemos que enviar 132x132 datos, lo que nos da unos 400 ms, suficientes para que se aprecie el borrado.
Uso el compilador de Hi-Tech, por lo que me he tenido que hacer las rutinas partiendo de una libreria que he encontrado, en cualquier caso ya funciona.
Ahora estoy en la fase de comunicación con el PC, haciendo un programita en Delphi, espero terminar pronto para colocarlo aquí :rolleyes: .
Saludos.
splasma:
Sigo vivo... :hola:
El programa en Delphi me está consumiendo todo el tiempo, pero espero acabar pronto. Ya he recibido el display del S65 por lo que después me pondré con él.
¿ Conoceis alguna libreria C para PIC que los soporte ? He encontrado una para AVR: http://www.superkranz.de/christian/S65_Dis...aySoftware.html
y me quería ahorrar el trabajo del "porting", je, je...
Navegación
[*] Página Anterior
Ir a la versión completa