Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

10/05/2011 #1


El pic se cuelga con lcd_init()
Estoy trabajando con un 18f242 y se "cuelga" cuando inicio el LCD.
Estoy usando el driver que viene con el PICC.

a alguien le a pasado?
10/05/2011 #2

Avatar de Ferny

Eso es probablemente que no recibe respuesta del LCD.

Comprueba las conexiones y que los pines estén bien asignados en el programa.

Suerte
11/05/2011 #3


Lo he probado varias veces. Además, probé con otro LCD.
Si lo simulo en Proteus funciona bien. Probé con otro PIC también.
Estoy trabajando a 20Mhz y compilando con PICC.

Conoces otro driver que pueda usar? En reemplazo del que viene con PICC (LCD.c).

Ferny dijo: Ver Mensaje
Eso es probablemente que no recibe respuesta del LCD.

Comprueba las conexiones y que los pines estén bien asignados en el programa.

Suerte
11/05/2011 #4

Avatar de Ferny

Es decir si suprimes la función lcd_init() ¿ya no se cuelga? ¿sigue haciendo el resto del programa? Es decir, te pregunto si tienes confirmado que efectivamente es esa función y que sin ella el programa sigue corriendo, no sea que el problema sea otro (oscilador mal configurado por ejemplo).

Yo he usado el driver del PICC sin problemas, si quieres te paso un ejemplo que funciona, aunque es para otro PIC pero creo que no te será difícil adaptarlo al tuyo (básicamente reasignar los pines, cambiar el archivo .h del PIC, y poco más).
11/05/2011 #5


Efectivamente,
Si no coloco lcd_init(); el programa corre perfectamente.
He cambiado de posición el lcd_init() y el programa solo corre hasta la línea de comando que tiene el lcd_init().

Será que tengo corrupto el archivo LCD.c? Tú tienes otro driver para LCD 1x16?

Gracias!



Ferny dijo: Ver Mensaje
Es decir si suprimes la función lcd_init() ¿ya no se cuelga? ¿sigue haciendo el resto del programa? Es decir, te pregunto si tienes confirmado que efectivamente es esa función y que sin ella el programa sigue corriendo, no sea que el problema sea otro (oscilador mal configurado por ejemplo).

Yo he usado el driver del PICC sin problemas, si quieres te paso un ejemplo que funciona, aunque es para otro PIC pero creo que no te será difícil adaptarlo al tuyo (básicamente reasignar los pines, cambiar el archivo .h del PIC, y poco más).
11/05/2011 #6

Avatar de Ferny

Te lo paso en un rato cuando llegue a casa, si no me acuerdo envíame un mensaje. Te paso uno que creo que era para un PIC16F876, tendrás que adaptarlo pero creo que será sencillo...
15/05/2011 #7

Avatar de Ferny

Hola

Te mando un programa probado con un PIC16F873, verás que uso el LCD.c y a mi sí que me funcionaba. Hay también una simulación en Proteus que debí hacer en su día. Usé un reloj de 8MHz y el puerto B para conectar el LCD. El pinout de la conexión lo puedes ver en el propio LCD.c y en el esquemático de Proteus. Hay también dos salidas a led en los pines C4 y C5 que sólo estaban para comprobar el funcionamiento del circuito.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip Prueba LCD PIC16F873.zip (29,1 KB (Kilobytes), 49 visitas)
15/07/2011 #8


LCD_Init
Tuve el mismo problema en PIC C Compiler, y lo solucione agregando el #fuses put ....
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.