Autor Tema: Stack overflow :S??? en PIC  (Leído 2831 veces)

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

Desconectado c4chus

  • PIC10
  • *
  • Mensajes: 8
Stack overflow :S??? en PIC
« en: 15 de Junio de 2010, 20:57:41 »
Estoy desplegando video en una televisión :S e intento escribir unas palabras... creando tablas para cada letra...

cuando corro el programa en Proteus, me marca Stack overflow en una dirección que se encuentra justo después de un call...

Corrí el programa y si me despliega unas letras bien... pero después hace un cochinero!!! :(... supongo que es por el stack overflow!!!.... ;-) mi duda es la siguiente:

EL STACK OVERFLOW SE PUEDE GENERAR DEBIDO A QUE UTILIZO MUCHOS CALL??

De antemano Gracias amigos :) :-/
"puedo luchar contra las sombras, pero no contra un eclipse"...

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Stack overflow :S??? en PIC
« Respuesta #1 en: 15 de Junio de 2010, 21:10:49 »
si claro si utilizas muchos call el problema puede ser por ahi y mas si de pronto en alguno se te olvidó el return
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Stack overflow :S??? en PIC
« Respuesta #2 en: 15 de Junio de 2010, 21:19:38 »
Más que muchos CALLs, el problema sucede con muchos CALLs anidados. Cada familia de uC posee una cantidad de niveles de STACK distinta. Seguramente estés trabajando con un 18F, que poseen 32 niveles de STACK. Esto significa que puedes anidar hasta 32 CALLs, pero ojo! Una interrupción también carga el STACK, y también lo hacen las llamadas que hagas dentro de su rutina.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado c4chus

  • PIC10
  • *
  • Mensajes: 8
Re: Stack overflow :S??? en PIC
« Respuesta #3 en: 15 de Junio de 2010, 21:20:23 »
 :shock: :oops:Gracias amigo!!! checaré mi programa para buscar ese detalle!!! y si no a modificarrr se ha dicho :( jaja gracias :D y saludos
"puedo luchar contra las sombras, pero no contra un eclipse"...

Desconectado c4chus

  • PIC10
  • *
  • Mensajes: 8
Re: Stack overflow :S??? en PIC
« Respuesta #4 en: 15 de Junio de 2010, 21:22:31 »
por cierto trabajo con un 16F877A :S en el datasheet viene la info del máximo nivel de stack?? :S!!! Gracias :D :-/
"puedo luchar contra las sombras, pero no contra un eclipse"...

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Stack overflow :S??? en PIC
« Respuesta #5 en: 15 de Junio de 2010, 22:10:15 »
Sip. Ese uC tiene sólo 8 niveles de STACK!

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Stack overflow :S??? en PIC
« Respuesta #6 en: 16 de Junio de 2010, 22:35:22 »
Que poquito stack que tienen los 16F, con razón son de gama media.

Una pregunta, toda la familia sin excepción de ningún micro posee 8 niveles de stack? y en caso de la familia 18F también todos tienen 32?

saludos
.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Stack overflow :S??? en PIC
« Respuesta #7 en: 16 de Junio de 2010, 23:54:56 »
Todos los 16F que he conocido, han tenido 8 niveles de STACK, y todos los 18F con los que me he cruzado han tenido 32 niveles. Lo que digo no alcanza para formular la ley, pero es una tendencia.

Si nos ponemos un poco más técnicos y meditamos que el STACK forma parte del core que comparte toda una familia de uC, podría llegar a casi asegurar que probablemente así sea. Cada familia debe tener un determinado tamaño de STACK.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Stack overflow :S??? en PIC
« Respuesta #8 en: 18 de Junio de 2010, 18:10:23 »
Si eso mismo pensaba

Curioseando un poco de los stack, vi los micros 16F de la familia mejorada los 16f193x?, que tienen varias mejores tienen también más stack, 16 niveles.

Bien esos micros nuevos! :-/
.