Desbordamiento de Pila en Proteus.

Ya encontré el problema y era un problema de las paginas, por alguna razón con el return no volvía a donde lo habían llamado y iba al principio de esa pagina, lo pase todo a una pagina y listo.
Igualmente gracias a todos los que me ayudaron y de paso aprendí unas cuantas cosas porque soy nuevo en la electrónica. Saludos
 
Ya encontré el problema y era un problema de las paginas, por alguna razón con el return no volvía a donde lo habían llamado y iba al principio de esa pagina, lo pase todo a una pagina y listo.
Como no hay un bucle, el programa sigue corriendo sin retorno, por eso se producen los desbordes de pila.
Con tan solo agregar esto para probar, se solucionaría el problema:
Solución.jpg
Hace mucho que no veía esas librerías, y creo recordar que la librería para el LCD se tenía que modificar para que funcionara en Proteus.
Sin modificar no se visualizaba nada.

Si no agregas la palabra de configuración, el programa se compilará con los fuses por defecto y en físico no funcionará.
Default Fuses.jpg
Necesitas agregar esto en la cabecera del programa:
Código:
__config    _XT_OSC & _WDT_OFF & _PWRTE_ON

Y ahora sí funcionará en físico con un cristal de 4 Mhz.
Fuses XT_OSC.jpg
 
Como no hay un bucle, el programa sigue corriendo sin retorno, por eso se producen los desbordes de pila.
Con tan solo agregar esto para probar, se solucionaría el problema:
Ver el archivo adjunto 275522
Hace mucho que no veía esas librerías, y creo recordar que la librería para el LCD se tenía que modificar para que funcionara en Proteus.
Sin modificar no se visualizaba nada.
Gracias por solucionarme este problema, y si justo tenia ese problema que decis, estaba leyendo un hilo viejo(2014) en el que solucionas ese problema de las librerias pero a mi no me funciona, capaz hay que actualizarlas de nuevo, pero ya no es tema para este hilo.
 
Si solo hay que ser metódico.No hay más.
Cada call con su return y con esa m****a de pila no llamar subrutinas desde subrutinas.
 
Atrás
Arriba